⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 processview.cpp

📁 该软件是我读硕士的时候写的
💻 CPP
📖 第 1 页 / 共 3 页
字号:

	DataNum=app->DataNum;
	
	COLORREF oldBkColor = pDC->SetBkColor(RGB(250,250,255));
	
	int i,j;
	double templittle,tempbig;
	CString str;
	double DataDataTmp1,DataDataTmp2;
	double DataDepthTmp1,DataDepthTmp2;
	double DataDataTmpHigh1,DataDataTmpHigh2;
	int tmp,tmpDataLength;
	int BPtemp;

	COLORREF m_gridColor = RGB(60, 60, 60);
	
	pDC->SetBkColor(oldBkColor);
	
	lMaxDataLow=0;
	lMinDataLow=0;
	lMaxDataHigh=0;
	lMinDataHigh=0;
	for (i=0; i<DataNum; i++)
	{		
		// 判断是否大于当前最大值
		if (DataWaveletLow[i] > lMaxDataLow)
		{
			// 更新最大值
			lMaxDataLow= DataWaveletLow[i];
		}
		if (DataWaveletLow[i] < lMinDataLow)
		{
			lMinDataLow = DataWaveletLow[i];
		}
		
		if (DataWaveletHigh[i] > lMaxDataHigh)
		{
			lMaxDataHigh =DataWaveletHigh[i];
		}
		if (DataWaveletHigh[i] < lMinDataHigh)
		{
			lMinDataHigh = DataWaveletHigh[i];
		}
	}
	
	COLORREF m_DataColor = RGB(255, 0, 0);
	CPen penSolidData;
	penSolidData.CreatePen(PS_SOLID, 1, m_DataColor);
	CPen* pOldPen = pDC->SelectObject(&penSolidData);

	BPtemp=0;
		for (i = 1; i <DataNum; i ++)
		{	
			
			DataDataTmp1=CURVE_WIDTHMAX*DataWaveletLow[i-1]/(lMaxDataLow-lMinDataLow);
			DataDataTmp2=CURVE_WIDTHMAX*DataWaveletLow[i]/(lMaxDataLow-lMinDataLow);
			
			DataDataTmpHigh1=CURVE_WIDTHMAX*DataWaveletHigh[i-1]/(lMaxDataHigh-lMinDataHigh);
			DataDataTmpHigh2=CURVE_WIDTHMAX*DataWaveletHigh[i]/(lMaxDataHigh-lMinDataHigh);
		
			pDC->MoveTo(rect.left+DataDataTmp1+SCALE_WIDTH2, rect.top+BPtemp);
			pDC->LineTo(rect.left+DataDataTmp2+SCALE_WIDTH2, rect.top+BPtemp+2);
			
			pDC->MoveTo(rect.left+DataDataTmpHigh1+SCALE_WIDTH2+200, rect.top+BPtemp);
			pDC->LineTo(rect.left+DataDataTmpHigh2+SCALE_WIDTH2+200, rect.top+BPtemp+2);
			
			BPtemp=BPtemp+2;
		}
		
	pDC->SelectObject(pOldPen);
}
//////////////////////////////////////
void CProcessView::OnInsertValue() 
{   //计算各方向的增量
	double mCurvature,mToolFace;
	double L0,L1,L2,L,RCurvatureRadius,mEpsilon,mOmega;
	double inc1,inc2,inc,azi1,azi2,azi;
	double inc3,azi3,L3,Kinc,Kazi;
	double deltaLnorth,deltaLeast,deltaLdepth,deltaL;
	double TD,NB,DX;
	
	double temp1[800],temp2[800],temp3[800];
	CProcessDoc* pDoc = GetDocument();
	
	ifstream istrm1,istrm2,istrm3;
    istrm1.open( "C:\\11.txt");
	
    for(int j=0;j<478;j++)
	{
		istrm1>>temp1[j];
	}
	istrm1.close();

	istrm2.open( "C:\\22.txt");
	
    for(j=0;j<478;j++)
	{
		istrm2>>temp2[j];
	}
	istrm2.close();

	istrm3.open( "C:\\33.txt");
	
    for(j=0;j<92;j++)
	{
		istrm3>>temp3[j];
	}
	istrm3.close();

	TD=441.03;
	NB=0.0;
	DX=0.0;

ofstream ostrm6;
ostrm6.open( "C:\\C71-P4ZuanShi.txt");
	for(j=0;j<478;j++)
	{
		ostrm6<<temp1[j]<<",";
		ostrm6<<temp2[j]<<endl;
	}
ostrm6.close();
	ofstream ostrm,ostrm1;
	ostrm.open( "C:\\C71-P4-YuCezengliang.txt");
	for(j=0;j<91;j++)
	{
		L1=temp1[j];
        L2=temp1[j+1];
		L3=temp1[j+2];
		inc1=temp2[j];
		inc2=temp2[j+1];
		inc3=temp2[j+2];
		azi1=temp3[j];
		azi2=temp3[j+1];
		azi3=temp3[j+2];

		Kinc=(inc2-inc1)/(L2-L1);
		Kazi=(azi2-azi1)/(L2-L1);
		
		inc3=inc2+Kinc*(L3-L2);
		azi3=azi2+Kazi*(L3-L2);
		azi1=azi2;
		inc1=inc2;
		azi2=azi3;
 		inc2=inc3;

		inc1=inc1*pi/180.0;
		inc2=inc2*pi/180.0;
		azi1=azi1*pi/180.0;
		azi2=azi2*pi/180.0;
		
        mEpsilon=acos(cos(inc1)*cos(inc2)+sin(inc1)*sin(inc2)*cos(azi2-azi1));
		mOmega=asin(sin(inc2)*sin(azi2-azi1)/sin(mEpsilon));
		
		mCurvature=mEpsilon/(L3-L2);
		
		RCurvatureRadius=1.0/(mCurvature);
		
		deltaLnorth=RCurvatureRadius*(sin(inc1)*cos(azi1)*sin(mEpsilon)+(cos(inc1)*cos(azi1)*cos(mOmega)-sin(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLeast=RCurvatureRadius*(sin(inc1)*sin(azi1)*sin(mEpsilon)+(cos(inc1)*sin(azi1)*cos(mOmega)+cos(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLdepth=RCurvatureRadius*(cos(inc1)*sin(mEpsilon)-sin(inc1)*cos(mOmega)*(1-cos(mEpsilon)));
 
		TD=TD+deltaLdepth;
		NB=deltaLnorth;
        DX=deltaLeast;
	
		ostrm<<(j+3)<<"  ";
		ostrm<<temp1[j+2]<<"  ";
		ostrm<<TD<<"   ";
		ostrm<<deltaLdepth<<"   ";
		ostrm<<NB<<"   ";
		ostrm<<DX<<"   ";
		ostrm<<endl;
		
	}
	ostrm.close();
	TD=412.24;
	NB=0.0;
	DX=0.0;
	ostrm1.open( "C:\\CB71-P4-zengliang.txt");
	for(j=0;j<91;j++)
	{
		L1=temp1[j];
        L2=temp1[j+1];
		inc1=temp2[j];
		inc2=temp2[j+1];
		azi1=temp3[j];
		azi2=temp3[j+1];
			
		inc1=inc1*pi/180.0;
		inc2=inc2*pi/180.0;
		azi1=azi1*pi/180.0;
		azi2=azi2*pi/180.0;
		
        mEpsilon=acos(cos(inc1)*cos(inc2)+sin(inc1)*sin(inc2)*cos(azi2-azi1));
		mOmega=asin(sin(inc2)*sin(azi2-azi1)/sin(mEpsilon));
		
		mCurvature=mEpsilon/(L2-L1);
		
		RCurvatureRadius=1.0/(mCurvature);
		
		deltaLnorth=RCurvatureRadius*(sin(inc1)*cos(azi1)*sin(mEpsilon)+(cos(inc1)*cos(azi1)*cos(mOmega)-sin(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLeast=RCurvatureRadius*(sin(inc1)*sin(azi1)*sin(mEpsilon)+(cos(inc1)*sin(azi1)*cos(mOmega)+cos(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLdepth=RCurvatureRadius*(cos(inc1)*sin(mEpsilon)-sin(inc1)*cos(mOmega)*(1-cos(mEpsilon)));
		
		TD=TD+deltaLdepth;
		NB=deltaLnorth;
        DX=deltaLeast;
		
		ostrm1<<(j+2)<<"  ";
		ostrm1<<temp1[j+1]<<"  ";
		ostrm1<<TD<<"   ";
		ostrm1<<deltaLdepth<<"   ";
		ostrm1<<NB<<"    ";
		ostrm1<<DX<<"    ";
		ostrm1<<endl;
		
	}
	ostrm1.close();
		
}

void CProcessView::OnINSERTINCnAZI() 
{
	double mCurvature,mToolFace;
	double L0,L1,L2,L,RCurvatureRadius,mEpsilon,mOmega;
	double inc1,inc2,inc,azi1,azi2,azi;
	double deltaLnorth,deltaLeast,deltaLdepth,deltaL;
	double Kinc,Kazi,DepthTemp,DeltaDepth;
	
	double temp1[8000],temp2[8000],temp3[8000];
	
	ifstream istrm1,istrm2,istrm3;
    istrm1.open( "C:\\11.txt");
	
    for(int j=0;j<110;j++)
	{
		istrm1>>temp1[j];
	}
	istrm1.close();
	
	istrm2.open( "C:\\22.txt");
	
    for(j=0;j<110;j++)
	{
		istrm2>>temp2[j];
	}
	istrm2.close();
	
	istrm3.open( "C:\\33.txt");
	
    for(j=0;j<110;j++)
	{
		istrm3>>temp3[j];
	}
	istrm3.close();

	DepthTemp=0.0;
	DeltaDepth=0.0;
	ofstream ostrm;
	ostrm.open( "C:\\CB71-P4-InsertINCnAZI.txt");
	for(j=0;j<91;j++)
	{
		L1=temp1[j];
        L2=temp1[j+1];
		inc1=temp2[j];
		inc2=temp2[j+1];
		azi1=temp3[j];
		azi2=temp3[j+1];
		
		Kinc=(inc2-inc1)/(L2-L1);
		Kazi=(azi2-azi1)/(L2-L1);
		while(DepthTemp<temp1[j+1])
		{
        DeltaDepth=DeltaDepth+0.1;
		DepthTemp=temp1[j]+DeltaDepth;
		inc=inc1+Kinc*(DepthTemp-temp1[j]);
		azi=azi1+Kazi*(DepthTemp-temp1[j]);

		ostrm<<DepthTemp<<",";
		ostrm<<inc<<",";
		ostrm<<azi<<",";
		ostrm<<endl;
		}
		DepthTemp=0.0;
		DeltaDepth=0.0;
	}
	ostrm.close();
	
}

void CProcessView::OnMangqv() 
{
	double mCurvature,mToolFace;
	double L0,L1,L2,L,RCurvatureRadius,mEpsilon,mOmega;
	double inc1,inc2,inc,azi1,azi2,azi;
	double inc3,azi3,inc4,azi4,L3,Kinc,Kazi;
	double deltaLnorth,deltaLeast,deltaLdepth,deltaL;
	double TD,NB,DX;
	
	double temp1[800],temp2[800],temp3[800];
	CProcessDoc* pDoc = GetDocument();
	
	ifstream istrm1,istrm2,istrm3;
    istrm1.open( "C:\\1.txt");
	
    for(int j=0;j<68;j++)
	{
		istrm1>>temp1[j];
	}
	istrm1.close();

	istrm2.open( "C:\\2.txt");
	
    for(j=0;j<68;j++)
	{
		istrm2>>temp2[j];
	}
	istrm2.close();

	istrm3.open( "C:\\3.txt");
	
    for(j=0;j<68;j++)
	{
		istrm3>>temp3[j];
	}
	istrm3.close();

	double Kalpha,Kphi;
	TD=412.24;
	NB=0.0;
	DX=0.0;
	ofstream ostrm;
	
	ostrm.open( "C:\\mangqvYuCeZ1_P22.txt");
	for(j=0;j<68;j++)
	{  
		L1=temp1[j];
        L2=temp1[j+1];
		//L3=temp1[j+2];
		inc1=temp2[j];
		inc2=temp2[j+1];
		//inc3=temp2[j+2];
		azi1=temp3[j];
		azi2=temp3[j+1];
		//azi3=temp3[j+2];

		//Kalpha=2.0*(inc3-inc2)/(L3-L2)-(inc2-inc1)/(L2-L1);
		//Kphi=2.0*(azi3-azi2)/(L3-L2)-(azi2-azi1)/(L2-L1);
		Kinc=(inc2-inc1)/(L2-L1);
		Kazi=(azi2-azi1)/(L2-L1);
		
		inc3=inc2+Kinc*19.22;
		azi3=azi2+Kazi*19.22;
		azi1=azi2;
		inc1=inc2;
		azi2=azi3;
		inc2=inc3;
		
		inc1=inc1*pi/180.0;
		inc2=inc2*pi/180.0;
		azi1=azi1*pi/180.0;
		azi2=azi2*pi/180.0;
		
        mEpsilon=acos(cos(inc1)*cos(inc2)+sin(inc1)*sin(inc2)*cos(azi2-azi1));
		mOmega=asin(sin(inc2)*sin(azi2-azi1)/sin(mEpsilon));
		
		mCurvature=mEpsilon/19.27;
		
		RCurvatureRadius=1.0/(mCurvature);
		
		deltaLnorth=RCurvatureRadius*(sin(inc1)*cos(azi1)*sin(mEpsilon)+(cos(inc1)*cos(azi1)*cos(mOmega)-sin(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLeast=RCurvatureRadius*(sin(inc1)*sin(azi1)*sin(mEpsilon)+(cos(inc1)*sin(azi1)*cos(mOmega)+cos(azi1)*sin(mOmega))*(1-cos(mEpsilon)));	
		deltaLdepth=RCurvatureRadius*(cos(inc1)*sin(mEpsilon)-sin(inc1)*cos(mOmega)*(1-cos(mEpsilon)));
		
		TD=TD+deltaLdepth;
		NB=deltaLnorth;
        DX=deltaLeast;
		
		ostrm<<(j+2)<<"  ";
		ostrm<<L2<<"  ";
		ostrm<<(L2+18.67)<<"  ";
		//ostrm<<TD<<"  ";
		//ostrm<<deltaLdepth<<"  ";
		//ostrm<<NB<<"  ";
		//ostrm<<DX<<"   ";
		ostrm<<inc3<<"  ";
		ostrm<<azi3<<"   ";
		ostrm<<endl;
		
	}
	ostrm.close();
}

void CProcessView::OnZUANSHItoZUANSU() 
{
	double temp1[567];
	ifstream istrm1;
    istrm1.open( "C:\\tezhengcanshu\\zuanshi.txt");
	
    for(int j=0;j<478;j++)
	{
		istrm1>>temp1[j];
		temp1[j]=60.0/temp1[j];

	}
	istrm1.close();

	ofstream ostrm;
	ostrm.open( "C:\\tezhengcanshu\\zuansu.txt");
	for(j=0;j<478;j++)
	{
	    ostrm<<temp1[j]<<endl;
	}
	ostrm.close();
}

void CProcessView::OnZhuansu() 
{
	double temp1[567],temp2[567];
	ifstream istrm1;
    istrm1.open( "C:\\tezhengcanshu\\zuansu.txt");
	
    for(int j=0;j<478;j++)
	{
		istrm1>>temp1[j];
	}
	istrm1.close();
	
	for(j=0;j<478;j++)
	{
		double werwe=temp1[j];
		if(temp1[j]<10.0) 
			temp2[j]=40.0;
		if(10.0<temp1[j]&&temp1[j]<20.0) 
			temp2[j]=60.0;
		if(20.0<temp1[j]&&temp1[j]<30.0) 
			temp2[j]=80.0;
		if(30.0<temp1[j]&&temp1[j]<40.0) 
			temp2[j]=100.0;
		if(40.0<temp1[j]&&temp1[j]<50.0) 
			temp2[j]=120.0;
		if(50.0<temp1[j]&&temp1[j]<60.0) 
			temp2[j]=140.0;
		if(60.0<temp1[j]&&temp1[j]<70.0) 
			temp2[j]=160.0;
		if(70.0<temp1[j]&&temp1[j]<80.0) 
			temp2[j]=180.0;
		if(80.0<temp1[j])
			temp2[j]=200.0;
	}

	ofstream ostrm;
	ostrm.open( "C:\\tezhengcanshu\\zhuansu.txt");
	for(j=0;j<478;j++)
	{
		ostrm<<temp2[j]<<endl;
	}
	ostrm.close();
}

void CProcessView::OnPailiang() 
{
	double temp1[567],temp2[567];
	ifstream istrm1;
    istrm1.open( "C:\\tezhengcanshu\\bengchong.txt");
	
    for(int j=0;j<478;j++)
	{
	istrm1>>temp1[j];
    temp2[j]=temp1[j]*3.1415926*0.085*0.085*0.254*3*1000/60.0;
	}
	istrm1.close();

	ofstream ostrm;
	ostrm.open( "C:\\tezhengcanshu\\pailiang.txt");
	for(j=0;j<478;j++)
	{
		ostrm<<temp2[j]<<endl;
	}
	ostrm.close();
	
}

void CProcessView::OnShuigonglv() 
{
   	double temp1[567],temp2[567],tmp1,tmp2,tmp4,abc;
	ifstream istrm1;
    istrm1.open( "C:\\tezhengcanshu\\pailiang.txt");
	
    for(int j=0;j<478;j++)
	{
		istrm1>>temp1[j];
     tmp1=(18.0/32.0)*25.4;
	 tmp2=3*tmp1*tmp1;
	 tmp4=3*tmp1*tmp1*tmp1*tmp1;
temp2[j]=9170.0*0.7360*1.4*temp1[j]*temp1[j]*temp1[j]*tmp4/(7.5*tmp2*tmp2*tmp2*tmp2);

      //abc=3.0*3.1415924*(tmp1/2.0)*(tmp1/2.0);
	}
	istrm1.close();
	
	ofstream ostrm;
	ostrm.open( "C:\\tezhengcanshu\\gonglv.txt");
	for(j=0;j<478;j++)
	{
		ostrm<<temp2[j]<<endl;
	}
	ostrm.close();
}

void CProcessView::OnYacha() 
{
	double temp1[567],temp2[567],tmp1,tmp2,tmp4;
	ifstream istrm1;
    istrm1.open( "C:\\tezhengcanshu\\jingshen.txt");
	
    for(int j=0;j<478;j++)
	{
		istrm1>>temp1[j];
		temp2[j]=0.00981*temp1[j]*(1.50-1.015);
	}
	istrm1.close();
	
	ofstream ostrm;
	ostrm.open( "C:\\tezhengcanshu\\yacha.txt");
	for(j=0;j<478;j++)
	{
		ostrm<<temp2[j]<<endl;
	}
	ostrm.close();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -