文档详情

二维图形几何变换.doc

发布:2016-11-05约1.2千字共6页下载文档
文本预览下载声明
《计算机图形学》 实验报告 题 目:二维图形几何变换 院、系(院):计算机科学与技术学院 专业及班级: 姓 名: 学 号: 日 期: 实验目的 1)掌握3*3矩阵乘法运算的编程实现; 2)掌握平移,比例,旋转三种基本二维几何变换矩阵生成; 3)掌握相对于任意参考点的二维复合变换矩阵生成。 实验要求 1)设计实现二维图形变换类,具有平移,比例,旋转二维几何变换功能,以及相对于任意参考点的二维复合变换功能; 2)将2.2节直线类所绘制的菱形线框,绕最上端A点匀速旋转,并要求相对于A点来回缩放; 3)使用双缓冲机制进行图形绘制,避免运动闪烁,所有图形先绘制到用户自定义的DC,绘制完成后再统一拷贝到屏幕DC。 详细设计 3.1核心算法及类型设计 平移变换矩阵: 旋转变换矩阵: 比例变换矩阵: 相对于任意参考点的旋转变换矩阵: 相对于任意参考点的比例变换矩阵: 3.2程序设计实现及流程 典型测试结果 实验问题总结 通过本次试验让我有一次对MFC有了进一步的了解,在本次实验中我也遇到了一些错误,但是经过后来我和同学的讨论也得到了改正,本次试验让我进一步熟悉了二维图形几何变换的过程及变换矩阵。也熟悉了通过程序来实现二维图形的几何变换。 开始 定义变量a,A,points[4], s,step,tans,theta,*line 设置坐标系, 绘制双缓冲机制, 绘制坐标轴。 200→a, (0,a)→A, points[0].x←0, points[0].y←a; points[1].x←a, points[1].y←0; points[2].x←0, points[2].y←-a; points[3].x←-a,points[3].y←0; (s=2.0||s=0.5) -step→step; s+step→s; tans.ScalePoint(s,s,A); theta=0.0; theta=360.0 theta=0.0 tans.RotatePoint(theta,A); 绘制菱形的AB,BC,CD,DA四条边 拷贝内存图到屏幕 Invalidate(FALSE) 结束
显示全部
相似文档