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

📄 myclass.cpp

📁 用Visual C++实现几何图形基本变换
💻 CPP
字号:
// MyClass.cpp: implementation of the CMyClass class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "几何图形变换.h"
#include "MyClass.h"
#include "math.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMyClass::CMyClass()
{

}

CMyClass::~CMyClass()
{

}
void CMyClass::ReadWorkpiece()
{
X[1]=-20;Y[1]=20;C[1]=1;
X[2]=-20;Y[2]=80;C[2]=1;
X[3]=-40;Y[3]=60;C[3]=1;
X[4]=-60;Y[4]=80;C[4]=1;
X[5]=-60;Y[5]=20;C[5]=1;
X[6]=-25;Y[6]=20;C[6]=1;
X[7]=-25;Y[7]=70;C[7]=1;
X[8]=-40;Y[8]=50;C[8]=1;
X[9]=-55;Y[9]=70;C[9]=1;
X[10]=-55;Y[10]=20;C[10]=1;
}
void CMyClass::Calculate(array2d B)
{
ReadWorkpiece();
for (int i=1;i<=10;++i)
{
	XT[i]=X[i]*B[1][1]+Y[i]*B[2][1]+C[i]*B[3][1];
YT[i]=X[i]*B[1][2]+Y[i]*B[2][2]+C[i]*B[3][2];


}



}
void CMyClass::Display()

{
CFrameWnd*pWnd=(CFrameWnd*)AfxGetApp()->m_pMainWnd;
CDC*pdc=pWnd->GetActiveView()->GetDC();
CRect rr;
::GetClientRect(pWnd->GetActiveView()->m_hWnd,rr);
DrawView(pdc,rr);
pWnd->GetActiveView()->ReleaseDC(pdc);
}
void CMyClass::DrawView(CDC*pdc,CRect rr)
{
xx=rr.right /2;
yy=rr.bottom/2;
Calculate(A1);
moveto(xx-XT[1],yy-YT[1],pdc);
lineto(xx-XT[2],yy-YT[2],pdc);
lineto(xx-XT[3],yy-YT[3],pdc);
lineto(xx-XT[4],yy-YT[4],pdc);
lineto(xx-XT[5],yy-YT[5],pdc);
lineto(xx-XT[6],yy-YT[6],pdc);
lineto(xx-XT[7],yy-YT[7],pdc);
lineto(xx-XT[8],yy-YT[8],pdc);
lineto(xx-XT[9],yy-YT[9],pdc);
lineto(xx-XT[10],yy-YT[10],pdc);
lineto(xx-XT[1],yy-YT[1],pdc);;
Calculate(A);
moveto(xx-XT[1],yy-YT[1],pdc);
lineto(xx-XT[2],yy-YT[2],pdc);
lineto(xx-XT[3],yy-YT[3],pdc);
lineto(xx-XT[4],yy-YT[4],pdc);
lineto(xx-XT[5],yy-YT[5],pdc);
lineto(xx-XT[6],yy-YT[6],pdc);
lineto(xx-XT[7],yy-YT[7],pdc);
lineto(xx-XT[8],yy-YT[8],pdc);
lineto(xx-XT[9],yy-YT[9],pdc);
lineto(xx-XT[10],yy-YT[10],pdc);
lineto(xx-XT[1],yy-YT[1],pdc);;

}
void CMyClass::moveto(double x,double y,CDC*pdc)
{
pdc->MoveTo((int)x,(int)y);
}
void CMyClass::lineto(double x,double y,CDC*pdc)
{
pdc->LineTo((int)x,(int)y);
}



⌨️ 快捷键说明

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