计算机图形学图形几何变换的实现.doc

计算机图形学图形几何变换的实现.doc

ID:50847356

大小:58.00 KB

页数:9页

时间:2020-03-15

计算机图形学图形几何变换的实现.doc_第1页
计算机图形学图形几何变换的实现.doc_第2页
计算机图形学图形几何变换的实现.doc_第3页
计算机图形学图形几何变换的实现.doc_第4页
计算机图形学图形几何变换的实现.doc_第5页
资源描述:

《计算机图形学图形几何变换的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验五:图形几何变换的实现班级08信计2学号83姓名王志超分数一、实验目的和要求:巩固所学理论知识,加深对二维变换的理解,加深理解利用变换矩阵可由简单图形得到复杂图形。加深对变换矩阵算法的理解。编制利用旋转变换绘制齿轮的程序。编程实现变换矩阵算法,绘制给出形体的三视图。调试程序及分析运行结果。要求每位学生独立完成该实验,并上传实验报告。二、实验内容:在方向、尺寸和形状方面的变换是用改变对象坐标描述的几何变换来完成的。基本几何变换都是相对于坐标原点和坐标轴进行的几何变换,有平移、旋转、缩放、反射、错切等。用直线命令画

2、出一个齿(或六边形的一半)→利用旋转变换或对称变换矩阵实现对其余部分的绘制→调试运行程序→输出图形→分析结果→结束。编写三维变换算法程序→检查程序的正确性→分段调试程序→输入给出的三维形体各顶点的坐标→执行变换→对算法程序进行必要的调整→更换不同的形体数据继续变换→结束。三、实验结果分析.1该程序实现了图形变换的实现。2绘制图形,加强对知识的理解。/*二维图形(直线)平移变换*/#include#include#includemain(){intx0,y0

3、,x1,y1,i,j;inta[3][3];charkey;for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=0;for(i=0;i<3;i++)a[i][i]=1;intgraphdriver=DETECT;intgraphmode=0;initgraph(&graphdriver,&graphmode,"");cleardevice();x0=250;y0=120;x1=350;y1=220;line(x0,y0,x1,y1);for(;;){outtextxy(100,400,"

4、<-:left->:right^:upv:downEsc->exit");key=getch();switch(key){case75:a[2][0]=-10;break;case77:a[2][0]=10;break;case72:a[2][1]=-10;break;case80:a[2][1]=10;break;case27:exit(0);break;}x0=x0*a[0][0]+y0*a[1][0]+a[2][0];y0=x0*a[0][1]+y0*a[1][1]+a[2][1];x1=x1*a[0][0]

5、+y1*a[1][0]+a[2][0];y1=x1*a[0][1]+y1*a[1][1]+a[2][1];cleardevice();line(x0,y0,x1,y1);}closegraph();}运行结果/*三维图形(立方体)旋转变换,比例变换*/#include#include#include#include#include#include#defineZOOM_IN0.9#defineZOOM_OU

6、T1.1intturn1[3];/*[0]rx,[1]ry,[3]zoom*/typedefstruct{floatx;floaty;floatz;}point;typedefstruct{floatx;floaty;}point2d;typedefstruct{floatx;floaty;floath;pointbiao[8];}fanti;voidmake_box(floatx,floaty,floath,fanti*p){p->x=x;p->y=y;p->h=h;p->biao[0].x=x/2;p->bia

7、o[0].y=y/2;p->biao[0].z=h/2;p->biao[1].x=-x/2;p->biao[1].y=y/2;p->biao[1].z=h/2;p->biao[2].x=-x/2;p->biao[2].y=-y/2;p->biao[2].z=h/2;p->biao[3].x=x/2;p->biao[3].y=-y/2;p->biao[3].z=h/2;p->biao[4].x=x/2;p->biao[4].y=y/2;p->biao[4].z=-h/2;p->biao[5].x=-x/2;p->bi

8、ao[5].y=y/2;p->biao[5].z=-h/2;p->biao[6].x=-x/2;p->biao[6].y=-y/2;p->biao[6].z=-h/2;p->biao[7].x=x/2;p->biao[7].y=-y/2;p->biao[7].z=-h/2;}voidtrun2d(point*p,point2d*q){q->x=p->x+p-

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

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

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