电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实验四01 二维图形的几何变换VIP免费

实验四01 二维图形的几何变换_第1页
1/6
实验四01 二维图形的几何变换_第2页
2/6
实验四01 二维图形的几何变换_第3页
3/6
计算机图形学实验指导书陈华光、陈多、刘长松编湖南工程学院二○一二年六月专业班级计算机0902_姓名田鹏_学号200903010225_计算机图形学实验报告四实验名称绘制简单的三维图形评分_实验日期2012年6月12日指导教师李长松_姓名专业班级计算机0902学号200903010211_一、实验目的1、复习用二维图来表示三维立体图形,三视图的表示及的三视图的变换矩阵2、掌握用C语言编程实现三维简单立体的正等测投影的绘制3、掌握用C语言编程实现三维简单立体的三视图的绘制4、掌握用C语言编程实现三维简单立体的透视图的绘制5、用C语言编写的图形变换函数二、实验要求1、在屏幕上绘制出一个长方体或简单几何体的正等测投影的几何图形,要求在图形下方标出是正等侧、还是正二侧投影图形。2、在屏幕上绘制出一个长方体或简单几何体的三视图投影图形,要求在图形下方标出是什么投影图形。3、在屏幕上绘制出一个长方体或简单几何体的透视投影图形。三、关键算法及实现原理1、二维屏幕表示三维立体图的关键:屏幕是一个二维的平面空间,要在它上做出三维的图形,就必须把三维的空间图形通过一个投影变换变为二维的图形,即投影变换把三维坐标点(x,y,z)变为(x’,0,z’)。2、投影变换的类型3、按下述步骤编写绘制三维图形的函数①在草稿纸上给出草图,并确定各顶点的序号和相应的顶点坐标值,建立顶点表和连边表。②在程序中定义三个数组,用于存放顶点的(x,y,z)的坐标值。③实施对立方体进行相应的投影变换,即对顶点矩阵与变换矩阵相乘,得到一个新的顶点矩阵。④用新顶点表的坐标值,注意些时只有x坐标和z坐标,y坐标已在投影中消掉,按边表的连线规则,用line函数在顶点之间两两连线。3、将每一个几何变换编写成一个函数,在主程序中进行坐标变换时,直接调用相应的函数即可;变换后调用绘图函数用不同颜色在屏幕上绘出变换后的图形。四、程序调试中的问题用matlab绘制二维与三维曲线和三维曲面的过程中,不能灵活使用一些常用的绘图函数如mesh,surf等。五、程序运行结果或数据x=-5:0.1:5;y=-4:0.1:4;[x,y]=meshgrid(x,y);z=0.5*x.^3+y.^2;subplot(2,2,1);mesh(x,y,z);title(‘三维网格曲面’)subplot(2,2,2);surf(x,y,z);title(‘三维曲面’)subplot(2,2,3);meshc(x,y,z);title(‘三维网格曲面(带有等值线)’)subplot(2,2,4);surfc(x,y,z);title(‘三维曲面(带有等值线)’)六、实验收获及体会通过这次实验使我对二维和三维图形的绘制,使我更加了解了图形的绘制过程,提高了动手能力,使我能够在以后解决其它问题时使用matlab作图更加熟练。参考源程序(可附页)#include#include#include#includedoublexmax=639.0,ymax=399.0;doublef[4][4],xx,yy,zz,dd;intscx(doublexj){intx;x=(int)(-xj+xmax/2);return(x);}intscy(doubleyj){inty;y=ymax-(int)(yj+ymax/2);return(y);}voidtv(){f[0][0]=1.0;f[0][1]=0.0;f[0][2]=0.0;f[0][3]=0.0;f[1][0]=0.0;f[1][1]=0.0;f[1][2]=0.0;f[1][3]=0.0;f[2][0]=0.0;f[2][1]=0.0;f[2][2]=1.0;f[2][3]=0.0;f[3][0]=0.0;f[3][1]=0.0;f[3][2]=1.0;f[3][3]=1.0;}voidth(intn){f[0][0]=1.0;f[0][1]=0.0;f[0][2]=0.0;f[0][3]=0.0;f[1][0]=0.0;f[1][1]=0.0;f[1][2]=-1.0;f[1][3]=0.0;f[2][0]=0.0;f[2][1]=0.0;f[2][2]=0.0;f[2][3]=0.0;f[3][0]=0.0;f[3][1]=0.0;f[3][2]=-n;f[3][3]=1.0;}voidtw(intd){f[0][0]=0.0;f[0][1]=0.0;f[0][2]=0.0;f[0][3]=0.0;f[1][0]=-1.0;f[1][1]=0.0;f[1][2]=0.0;f[1][3]=0.0;f[2][0]=0.0;f[2][1]=0.0;f[2][2]=1.0;f[2][3]=0.0;f[3][0]=-d;f[3][1]=0.0;f[3][2]=0.0;f[3][3]=1.0;}voidteq(){f[0][0]=0.707;f[0][1]=0.0;f[0][2]=-0.408;f[0][3]=0.0;f[1][0]=-0.707;f[1][1]=0.0;f[1][2]=-0.408;f[1][3]=0.0;f[2][0]=0.0;f[2][1]=0.0;f[2][2]=0.816;f[2][3]=0.0;f[3][0]=0.0;f[3][1]=0.0;f[3][2]=0.0;f[3][3]=1.0;}voidtt1yq(doublel,doublen,doublem,doubleq){f[0][0]=1.0;f[0][1]=0.0;f[0][2]=0.0;f[0][3]=0.0;f[1][0]=0.0;f[1][1]=0.0;f[1][2]=0.0;f[1][3]=q;f[2][0]=0.0;f[2][1]=0.0;f[2][2]=1.0;f[2]...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

实验四01 二维图形的几何变换

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部