二维图形几何变换.doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《计算机图形学》

实验报告

题目:二维图形几何变换

院、系(院):计算机科学与技术学院

专业及班级:_______________________

姓名:_______________________

学号:_______________________

日期:_______________________

1. 实验目的

1 )掌握3*3矩阵乘法运算的编程实现;

2)掌握平移,比例,旋转三种基本二维几何变换矩阵生成;3)掌握相对于任意参考点的二维复合变换矩阵生成。

2. 实验要求

1 )设计实现二维图形变换类,具有平移,比例,旋转二维几何变换功能,以及相对于任意参考点的二维复合变换功能;

2 )将2.2节直线类所绘制的菱形线框,绕最上端A点匀速旋转,并要求相对于A点来回缩放;

3)使用双缓冲机制进行图形绘制,避免运动闪烁,所有图形先绘制到用户自定义的DC ,绘制完成后再统一拷贝到屏幕DC。

3 .详细设计

3.1核心算法及类型设计

平移变换矩阵:

-i o o-

Tt= 0 1 0

tx ty 1

旋转变换矩阵:

cos a sin a 0

Tr = -sin a cos a 0

0 0 1

比例变换矩阵:

5X 0 0

Ts = 0 sy 0

0 0 1

相对于任意参考点的旋转变换矩阵:

_ 1 0 O'cos a sin a 0-1 0 0 T"=0 1 0•-sin a cos a 0•0 1 0

-tx ty 10 0 1

——

tx ty 1相对于任意参考点的比例变换矩阵:

'10O

-sx0o-10o

邛=010•0sy0•010

-tx F1001tx ty i 3.2程序设计实现及流程

开始

—!

------- > 定义变量a,A,points[4], s,step,tans,theta,*line

设置坐标系,绘制双缓冲机制,绘制坐标轴。

200—a, (0,a)—A, points[0].x—0, points[0].y—a; points[l].x—a,

points[l].y—0; points[2].x—0, points[2[.y—・a; points[3J.x<--

a,points[3].y^-0;

(s>=2.0||s<=0.5)

s+step—s;

tans.ScalePoint(s,s,A); <-step-*step;

theta=0.0;

4 .典型测试结

V

拷贝内存图到屏幕

5.实验问题总结

通过本次试验让我有一次对MFC有了进一步的了解,在本次实验中我也遇到了一些错误,但是经过后来我和同学的讨论也得到了改正, 本次试验让我进一步熟悉了二维图形几何变换的过程及变换矩阵。也熟悉了通过程序来实现二维图形的几何变换。

相关文档
最新文档