《计算机图形学》实验报告题目:二维图形几何变换院、系(院):计算机科学与技术学院专业及班级:姓名:学号:日期:1.实验目的1)掌握3*3矩阵乘法运算的编程实现;2)掌握平移,比例,旋转三种基本二维几何变换矩阵生成;3)掌握相对于任意参考点的二维复合变换矩阵生成。2.实验要求1)设计实现二维图形变换类,具有平移,比例,旋转二维几何变换功能,以及相对于任意参考点的二维复合变换功能;2)将2.2节直线类所绘制的菱形线框,绕最上端A点匀速旋转,并要求相对于A点来回缩放;3)使用双缓冲机制进行图形绘制,避免运动闪烁,所有图形先绘制到用户自定义的DC,绘制完成后再统一拷贝到屏幕DC。3.详细设计3.1核心算法及类型设计平移变换矩阵:1010001Tttytx旋转变换矩阵:1000cossin0sincosTr比例变换矩阵:1000000sysxTs相对于任意参考点的旋转变换矩阵:10100011000cossin0sincos1010001Ttytxtytxfr相对于任意参考点的比例变换矩阵:101000110000001010001Ttytxsysxtytxfs3.2程序设计实现及流程开始定义变量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+step→s;tans.ScalePoint(s,s,A);theta=0.0;tans.RotatePoint(theta,A);-step→step;结束(s=2.0||s=0.5)theta=360.0theta=0.0绘制菱形的AB,BC,CD,DA四条边拷贝内存图到屏幕Invalidate(FALSE)4.典型测试结果5.实验问题总结通过本次试验让我有一次对MFC有了进一步的了解,在本次实验中我也遇到了一些错误,但是经过后来我和同学的讨论也得到了改正,本次试验让我进一步熟悉了二维图形几何变换的过程及变换矩阵。也熟悉了通过程序来实现二维图形的几何变换。