19,468
社区成员
发帖
与我相关
我的任务
分享
//原三维图形矩阵坐标点
P3D[0][0]=0;P3D[0][1]=0;P3D[0][2]=0;P3D[0][3]=1;//A点(0,0,0)
P3D[1][0]=0;P3D[1][1]=90;P3D[1][2]=0;P3D[1][3]=1;//B点(0,90,0)
P3D[2][0]=0;P3D[2][1]=90;P3D[2][2]=90;P3D[2][3]=1;//C点(0,90,90)
P3D[3][0]=0;P3D[3][1]=0;P3D[3][2]=90;P3D[3][3]=1;//D点(0,0,90)
P3D[4][0]=90;P3D[4][1]=0;P3D[4][2]=0;P3D[4][3]=1;//E点(90,0,0)
P3D[5][0]=90;P3D[5][1]=90;P3D[5][2]=0;P3D[5][3]=1;//F点(90,90,0)
P3D[6][0]=90;P3D[6][1]=90;P3D[6][2]=90;P3D[6][3]=1;//G点(90,90,90)
P3D[7][0]=90;P3D[7][1]=0;P3D[7][2]=90;P3D[7][3]=1;//H点(90,0,90)
//三维图形移动 所用的矩阵坐标点
TM[0][0]=1;
TM[1][1]=1;
TM[2][2]=1;
TM[3][0]=0;
TM[3][1]=-10;
TM[3][2]=0;
TM[3][3]=1;
for(int i=0;i<8;i++)//3维图形平移,得两个矩阵相乘
for(int j=0;j<4;j++)
P3D_Other[i][j]=P3D[i][0]*TM[0][j]+//不明白这相乘是用的什么原理?
P3D[i][1]*TM[1][j]+
P3D[i][2]*TM[2][j]+
P3D[i][3]*TM[3][j];
//然后将P3D_Other 坐标三维转二维坐标绘制到窗口上。代码不传了。