VC: 三维视图绘制与消隐技术(3)
LoadString (hInst, IDS_CAPTION, szCaption, 35);
return 0;
case WM_PAINT:
hDC = BeginPaint (hWnd, &PtStr);
SetMapMode(hDC,MM_TEXT);
hBlackPen=CreatePenIndirect(&lpBlack);
hGreenPen=CreatePenIndirect(&lpGreen);
hWhitePen=CreatePenIndirect(&lpWhite);
hBlackBrush=GetStockObject(BLACK_BRUSH);
hWhiteBrush=GetStockObject(WHITE_BRUSH);
hOldBrush = SelectObject (hDC,GetStockObject (NULL_BRUSH));
{
yy[j]=MOVE+j*SCALE1; //MOVE为绘图起始点Y坐标,在data.h中定义
for(i=0;i
{
PointTable[i].x=i*SCALE2+j*SCALE4; // 形成多边形顶点数组
PointTable[i].y=yy[j]-(PointTable[i].x-PointTable[0].x)*ANGLE-(mv[j*MAXPTS+i]*SCALE3); //SCALE2和SCALE4分别为X和Y方向的缩放系数
if(j>0) //SCALE3为绘图数据(Z方向)的缩放系数
{ //ANGLE为视角,均在data.h中定义
SelectObject(hDC,hGreenPen);
MoveTo(hDC,mx[i],my[i]);
LineTo(hDC,PointTable[i].x,PointTable[i].y); // 绘 y 方 向 网 线
}
}

