- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CG第3章:图形变换1
四川理工学院 计算机图形学V1.02 * 计算机图形学 图形变换与输出 本章内容: 本章主要内容有:窗口视图变换,二维、三维图形的平移、旋转、变比、对称等几何变换以及投影,图元输出与输出属性等。 3.1 窗口视图变换 窗口区和视图区的坐标变换 窗口区和视图区的坐标变换 3.2 二维几何变换 P(x,y) P’(x,y) 对象A 产生一个新对象 P点通过几何变化得到新的坐标点P’ x y 几何变换有三种基本变化:平移、缩放、旋转 a c e b d f m n k a c b d 对图形缩放、旋转、对称等进行控制 m n 对图形平移进行控制 e f 对图形投影进行控制 K 3.2.1 二维变化矩阵 二维图形几何变换矩阵可用下式表示 T2D= [1,0,0] x轴上无穷远点 [0,1,0] y轴上无穷远点 [0,0,1] 坐标原点 对整体图形伸缩进行控制 几何变换:把作为图像要素的线段和圆根据需要进行扩大、缩小和移动的数学操作和变换(geometric transformation) 3.2.2.1点的几何变换 点P(x,y)的几何变换的一般公式写为: [x’ y’ 1]=[x y 1] a c 0 b d 0 m n 1 3.2.2 几何变换 1.平行移动 [x’ y’ 1]=[x y 1] 1 0 0 0 1 0 m n 1 m、n是分别沿x方向、y方向平行移动的量. x’=x+m y’=y+n x y p 0 m n =[x+m y+n 1] 2.比例变换 3.对称变换 3.旋转变换 5.错切变换 3.2.2.2图形的几何变换 图形的几何变换,把构成图形的所有点都实施几何变换 o x y A B C ABC三点的坐标分别是 A(x1,y1) B(x2,y2) C(x3,y3) 几何变换 A’(x1’,y1’) B’(x2’,y2’) C’(x3’,y3’) x1’ y1’ 1 x2’ y2’ 1 x3’ y3’ 1 = x1 y1 1 x2 y2 1 x3 y3 1 变 化 矩 阵 1.平行移动 o y A B C x 设三角形ABC各个顶点坐标分别是A(1,1) 、B(3,1) 、C(2,2) 例:沿x方向平移3,沿y方向平移2 o y A B C x 3 2 1 1 1 1 2 2 1 0 0 0 1 0 3 2 1 = 4 3 1 6 3 1 5 4 1 变化矩阵 2.扩大 例:相对于原点(0,0),沿x方向扩大3倍,y方向扩大2倍 A B C o y x 1 1 1 1 2 2 1 3 0 0 0 2 0 0 0 1 变化矩阵 = 3 2 1 9 2 1 6 4 1 例:相对于A点,沿x方向扩大3倍,y方向扩大2倍 o y x (1)把A点平移至坐标原点 1 1 1 1 2 2 1 0 0 0 1 0 -1 -1 1 = 0 0 1 2 0 1 1 1 1 o y x 0 0 1 2 0 1 1 1 1 3 0 0 0 2 0 0 0 1 = 0 0 1 6 0 1 3 2 1 (2)扩大 (2,2,1) (3,1,1) (1,1,1) (1,1,1) (0,0,1) (2,0,1) o y x (3)使A点平移至原来的位置 0 0 1 6 0 1 3 2 1 0 0 0 1 0 1 1 1 = 1 1 1 7 1 1 4 3 1 固定点A扩大图形 (0,0,1) (6,0,1) (3,2,1) 练习题: 将三角形A(0,0),B(1,1),C(5,2)绕原点旋转45度 解:三角形ABC的矩阵表示 0 0 1 1 1 1 5 2 1 旋转矩阵为 cos 45o sin 45o 0 -sin 45o cos 45o 0 0 0 1 得到的新三角形ABC为 0 0 1 1 1 1 5 2 1 cos 45o sin 45o 0 -sin 45o cos 45o 0 0 0 1 练习题: 将三角形ABC,A(0,0),B(1,1),C(5,2)放大两倍,保持C(5,2)不变 1)将C点平移至原点 2)放大2倍 3)将C点平移至(5,2) 1)放大2倍 2)将C点平移至(
文档评论(0)