1 / 15
文档名称:

计算机图形学投影变换.doc

格式:doc   大小:172KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机图形学投影变换.doc

上传人:水中望月 2019/5/9 文件大小:172 KB

下载得到文件列表

计算机图形学投影变换.doc

文档介绍

文档介绍:Forpersonaluseonlyinstudyandresearch;mercialuse羁芀螆膃计算机图形学实验报告羃莈膆实验三三维图形的投影变换袄肄螁衿蚄袁学生姓名衿荿专业、班级莅袃指导教师芁螈成绩膅羄莀膇电子与信息工程系袅2010年11月6日螂螂蚇实验目的:薆绘制三维物体的轴测投影图和一点透视图,在程序中给定控制多面体的顶点坐标及点线信息。视点固定在z轴某点上,输入物体的旋转角度及平移量。正轴测投影图和一点透视图。螃二、题目:袀三维图象的基本变换肆三、设计思想:莆因为电脑显示的是2维持坐标图象,所以在设计时要将三维的图象坐标转换成电脑能显示的二维持坐标图,然后根据图象的基本变换矩阵计算出变换后的坐标点,最后绘制出图象变换效果。袄四、原程序:罿CPointdian22[8];//六面体的8个2维坐标点蝿 CPointdian[8];肆 floatcoordinate2[8][3];蚂 floatcoordinate3[8][3]六面体的8个3维坐标点芁Voiddraw6angle()//绘制一个六面方体。腿 (0,0);//yuandianzuobiaodian(400,400)(400,0);//x//绘制一x轴,Y,Z轴螃 (0,0);葿 (0,400);//y薈 (50,50);//z莃 (-200,-200);螄 (dian[0]);//0-1螂 (dian[1]);肈 (dian[0]);//0-3肄 (dian[3]);薂 (dian[0]);//0-7袀 (dian[7]);蒇 (dian[4]);//4-3螄 (dian[3]);蚃 (dian[4]);//4-5聿 (dian[5]);袆 (dian[4]);//4-7薄 (dian[7]);蚅 (dian[6]);//6-5莁 (dian[5]);芆 (dian[6]);//6-7芅 (dian[7]);蒂 (dian[6]);//6-1葿 (dian[1]);罿 (dian[2]);//2-1肅 (dian[1]);薃 (dian[2]);//2-3袂 (dian[3]);蒈 (dian[2]);//2-5螅 (dian[5])}莁}Bod_3DView::switch_point()//将三维坐标点转换成电脑上能表示的二维坐标点袈{floatcanshu=;薆for(inti=0;i<8;i++)莂 {dian[i].x=float(coordinate3[i][0]+float((-coordinate3[i][2]*canshu)));肈 dian[i].y=float(coordinate3[i][1]+float((-coordinate3[i][2]*canshu)));芇 }}Bod_3DView::OnMoveOnz()//图象在Z轴上的移动。蒃{蒁 //TODO:mandhandlercodehere蚇 for(inti=0;i<8;i++)羇{芁coordinate3[i][2]=coordinate3[i][2]+50;蕿}膆this->Invalidate();螇}Bod_3DView::OnSpinz()//Z轴上旋转羂{//TODO:mandhandlercodehere衿 floatb=cos();芃 floata=sin();莄 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();蚈 }Bod_3DView::OnDUICHeng()//关于X对称节{//TODO:mandhandlercodehere薁 for(inti=0;i<8;i++)肇{coordinate3[i][2]= -coordinate3[i][2];蒄}芄 this->Invalidate();虿 }Bod_3DView::OnZhengzhouce()//轴测投影图膅{//TODO:mandha

最近更新