计算机图形学投影变换

计算机图形学投影变换

ID:14441377

大小:176.00 KB

页数:8页

时间:2018-07-28

计算机图形学投影变换_第1页
计算机图形学投影变换_第2页
计算机图形学投影变换_第3页
计算机图形学投影变换_第4页
计算机图形学投影变换_第5页
资源描述:

《计算机图形学投影变换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机图形学实验报告实验三三维图形的投影变换学生姓名专业、班级指导教师成绩电子与信息工程系2010年11月6日一、实验目的:绘制三维物体的轴测投影图和一点透视图,在程序中给定控制多面体的顶点坐标及点线信息。视点固定在z轴某点上,输入物体的旋转角度及平移量。正轴测投影图和一点透视图。二、题目:三维图象的基本变换三、设计思想:因为电脑显示的是2维持坐标图象,所以在设计时要将三维的图象坐标转换成电脑能显示的二维持坐标图,然后根据图象的基本变换矩阵计算出变换后的坐标点,最后绘制出图象变换效果。四、原程序:CPointdian22[8];//六面体的8个2维坐标点CPointdian[8];floatc

2、oordinate2[8][3];floatcoordinate3[8][3]六面体的8个3维坐标点Voiddraw6angle()//绘制一个六面方体。dc.MoveTo(0,0);//yuandianzuobiaodian(400,400)dc.LineTo(400,0);//x//绘制一x轴,Y,Z轴dc.MoveTo(0,0);dc.LineTo(0,400);//ydc.MoveTo(50,50);//zdc.LineTo(-200,-200);dc.MoveTo(dian[0]);//0-1dc.LineTo(dian[1]);dc.MoveTo(dian[0]);//0-3dc.

3、LineTo(dian[3]);dc.MoveTo(dian[0]);//0-7dc.LineTo(dian[7]);dc.MoveTo(dian[4]);//4-3dc.LineTo(dian[3]);dc.MoveTo(dian[4]);//4-5dc.LineTo(dian[5]);dc.MoveTo(dian[4]);//4-7dc.LineTo(dian[7]);dc.MoveTo(dian[6]);//6-5dc.LineTo(dian[5]);dc.MoveTo(dian[6]);//6-7dc.LineTo(dian[7]);dc.MoveTo(dian[6]);//6-1dc

4、.LineTo(dian[1]);dc.MoveTo(dian[2]);//2-1dc.LineTo(dian[1]);dc.MoveTo(dian[2]);//2-3dc.LineTo(dian[3]);dc.MoveTo(dian[2]);//2-5dc.LineTo(dian[5])}}voidCCBod_3DView::switch_point()//将三维坐标点转换成电脑上能表示的二维坐标点{floatcanshu=0.7071;for(inti=0;i<8;i++){dian[i].x=float(coordinate3[i][0]+float((-coordinate3[i][2

5、]*canshu)));dian[i].y=float(coordinate3[i][1]+float((-coordinate3[i][2]*canshu)));}}voidCCBod_3DView::OnMoveOnz()//图象在Z轴上的移动。{//TODO:Addyourcommandhandlercodeherefor(inti=0;i<8;i++){coordinate3[i][2]=coordinate3[i][2]+50;}this->Invalidate();}voidCCBod_3DView::OnSpinz()//Z轴上旋转{//TODO:Addyourcommandha

6、ndlercodeherefloatb=cos(0.23);floata=sin(0.23);for(inti=0;i<8;i++){coordinate3[i][0]=float(coordinate3[i][0]*b)+float(coordinate3[i][1]*(-a));coordinate3[i][1]=float(coordinate3[i][0]*a)+coordinate3[i][1]*b;}OnLarge();this->Invalidate();}voidCCBod_3DView::OnDUICHeng()//关于X对称{//TODO:Addyourcommandhan

7、dlercodeherefor(inti=0;i<8;i++){coordinate3[i][2]=-coordinate3[i][2];}this->Invalidate();}voidCCBod_3DView::OnZhengzhouce()//轴测投影图{//TODO:Addyourcommandhandlercodehereif(flage==false){flage=true;}else

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。