第四章 图形变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
23
复合变换
举例:设Translate2D()和Rotata2D()分别是对 图形对象进行二维平移变换和旋转变换的函 数,House()是图形对象绘制函数,设(1)是 House()显示的图形,左下角点为P(1,0),执 行下面程序后得(2)
先平移后旋转: Translate2D(1,0); Rotate2D(45); House();
其它变换
错切变换
◦ 也称为剪切、错位变换,用于产生弹性物 体的变形处理。
34
其它变换
其变换矩阵为
◦ 参数b、c变化使图形产生变化:
沿x方向错切(b变化,c不变) 沿y方向错切(b不变,c变化) 两个方向错切(b变化,c变化)
35
其它变换
Βιβλιοθήκη Baidu
仿射变换
◦ 二维仿射变换是具有如下形式的二维坐标 变换
矩阵运算
◦ ◦ ◦ ◦ 矩阵的加法 矩阵的数乘 矩阵的乘法 矩阵的转臵
行列互换
◦ 矩阵的逆
矩阵A可逆的充分必要条件是A为非奇异矩阵( 其行列式不为零)。
7
二维基本变换
平移变换
在二维坐标系中,将点P(x,y)在x、y方向分别 ) 平移tx,ty,得点P(x, y,则它们的相互关系为 : T P P x x t
17
复合变换
前面介绍的旋转变换和放缩变换的参照 点都是坐标原点。
构造关于任意参照点的旋转和放缩变换 ——变换合成。
18
复合变换
关于任意参照点Pr(xr, yr)的旋转变换
◦ 绕Pr点旋转角通过下面三个基本变换来实现:
平移使Pr点落于坐标原点,变换矩阵T(-xr, -yr)。 旋转角,变换矩阵为R(). 平移使位于原点的Pr点返回原位臵,变换矩阵为T(xr,yr)。
19
复合变换
记其变换矩阵为R(xr, yr;),则:
R(x r , yr ; ) T(x r , yr ) R() T(x r ,yr ) 1 0 x r cos sin 0 1 0 x r sin cos 0 0 1 y 0 1 y r r 0 1 0 0 1 0 0 0 1 cos sin x r (1 cos) y r sin sin cos y ( 1 cos ) x sin r r 0 1 0
U V u x vx u y v y u z vz ; U U U u x u y u z cos U V U V i U V ux vx j uy vy u y v z v y u z u z vxu z u x vz vz u v v u x y x y k
12
齐次坐标与二维变换的矩阵表示
用齐次坐标表示,几种基本变换为
x 1 0 y 0 1 1 0 0 x cos y sin 1 0 x s x 0 y 0 s y 1 0 0 t x x x y T( t x , t y ) y ty 1 1 1 sin 0 x x y R () y cos 0 1 1 0 1 0 x x y S(s x , s y ) y 0 1 1 1
◦ 矩阵表示形式为:
36
其它变换
仿射变换的性质
◦ 仿射变换具有平行线不变性和有限点数目 的不变性 ◦ 平移、比例、旋转、错切和反射等变换均 是二维仿射变换的特例,反过来,任何常 用的二维仿射变换总可以表示为这五种变 换的复合。
37
其它变换
g T2 D h i a d 在变换矩阵的四个部分 中, b e 是对图形进行缩 g 是对图形进行平 放、旋转、对称,错切 等变换, h c f 是对图形作投影变换, i是对整体图形 移变换, 做伸缩变换。
13
齐次坐标与二维变换的矩阵表示
两个连续平移是加性的
14
齐次坐标与二维变换的矩阵表示
连续比例变换是相乘的
15
齐次坐标与二维变换的矩阵表示
两个连续旋转是相加的
16
复合变换
几何变换均可表示成P’=T* P的形式 复合变换是指
◦ 图形作一次以上的几何变换,变换结果是 每次的变换矩阵相乘。 ◦ 任何一复杂的几何变换都可以看作基本几 何变换的组合形式。
齐次坐标与二维变换的矩阵表示
实际绘图需对图形进行连续变换,这样对图形上的 每个点需要按前面给出的式子计算,计算量较大, 如果只对图形对象进行旋转和放缩两类变换,则可 以通过首先将两变换合成一个复合变换,将两次运 算转换成一次性的矩阵与向量运算,如先旋转,再 放缩,有:
P S P S R P A P s x 0 cos sin s x cos s x sin 其中:A S R 0 s s sin s cos cos y y sin y
3
变换的数学基础
矢量
◦ n元组,对应n维空间中的一个点,代表物 体在空间中的位臵或者运动的状态。 ◦ 三维矢量。 ◦ 矢量运算
矢量和 矢量的数乘 矢量的点积 矢量的长度(模) 矢量的叉积
4
变换的数学基础
矢量运算
u x v x u x v x k u x , V v ;U V u v ; k U k u U u y y y y y u z v z u z v z k u z
x y y t y
矢量形式为:
P P T
其中: P x, P x , T t x
y
y
t y
8
二维基本变换
x r cos 给定点P(x,y),其极坐标为: y r sin 将它绕坐标原点旋转,得 P(x, y) ,则: x r cos( ) r cos cos r sin sin x cos y sin y r sin( ) r cos sin r sin cos x sin y cos x x cos y sin P( x, y) y x sin y cos P(x,y) cos sin P R P,其中R sin cos
9
旋转变换
二维基本变换
放缩变换
点P(x,y)在x方向和y方向分别放缩Sx和Sy倍, 有 x s x x y s y y 0 s x 矩阵表示为: P S P,其中 S
0 sy
放缩变化是相对于坐标原点的。当它作用于 物体时,不仅改变了物体的形状,也改变了它离 原点的距离。放缩比例Sx和Sy可以相等,也可以 不相等。 10
这样,对图像上每点做上述变换时,只要用A乘点 的坐标就可以了。
11
齐次坐标与二维变换的矩阵表示
但如果在变换中加入平移变换,就不容易合并,因 为平移和旋转、放缩变换的表示形式不一样:平移 为一个矢量的加法,旋转和放缩为一个矩阵的乘法 。为了使得变换的表示形式一致,引入齐次坐标。 所谓齐次坐标是用n+1维向量表示一个n维向量。在n 维空间中的位臵向量用非齐次坐标表示时,具有n个 坐标分量(P1, P2,… Pn),而且是唯一的。若用齐次坐 标表示,此向量有n+1个坐标分量(hP1, hP2,… hPn,h) ,且不唯一。则二维点(x,y)对应的齐次坐标为 (hx,hy,h),那么(x,y,1)也表示(x,y)的齐次坐标。
21
复合变换
记其变换矩阵为S(xr, yr; sx, sy),则:
R(x r , yr ; sx , s y ) T(x r , yr ) S(sx , s y ) T(x r ,yr )
1 0 0 s x 0 0 0 x r s x 0 0 1 0 x r 0 s 0 0 1 y 1 yr y r 0 1 0 0 1 0 0 1 0 x r (1 s x ) s y y r (1 s y ) 0 1
20
复合变换
关于任意参照点Pr(xr, yr)的放缩变换
◦ 关于Pr点放缩(sx, sy)通过下面三个基本变换来实现 :
平移使Pr点落于坐标原点,变换矩阵T(-xr, -yr) 。 放缩(sx, sy),变换矩阵为S(sx, sy). 平移使位于原点的Pr点返回原位臵,变换矩阵为T(xr,yr)。
P( 2 , 2 )
P(1,0) (1) (2)
24
复合变换
将变换顺序颠倒一下,得 先旋转后平移: Rotate2D(45); Translate2D(1,0); House();
P(1,0)
P(1 2 / 2, 2 / 2)
25
变换的模式
在上面两个程序中,先调用的变换先执行,后调用 的变换后执行,体现在矩阵合成时,先调用的变换 放在连乘式的右边,后调用的变换放在连乘式的左 边,这种变换模式称为固定坐标系模式。它的特点 是连续执行几次变换时,每一次变换均可看成相对 于原始坐标系进行的。 另一种模式称为活动坐标系模式,在此模式下,连 续执行几个变换时,变换矩阵的合并方式恰好和固 定坐标系模式相反。即先调用的变换放在连乘式的 左边,后调用的变换放在连乘式的右边。体现在程 序执行顺序上,先调用的变换后执行,后调用的变 换先执行(堆栈实现)。这种变换模式的特点是每一次 变换可看成是前一次变换后所形成的新坐标系中进 行的(变换作用于坐标系)。
计算机图形学
主讲:刘圣军 Email: shjliu.cg@gmail.com
1
第四章 图形变换
2
图形变换
图形变换是计算机图形学的基础内容之一, 是图形显示过程中必不可少的一个环节,变 换本身也是描述图形的一个有力工具。 主要介绍二维、三维几何变换以及窗口到视 区的变换。 图形的几何变换是指对图形的几何信息经过 平移、比例、旋转等变换后产生新的图形, 是图形在方向、尺寸和形状方面的变换。 窗口到视区的变换是指建立从世界坐标系中 的窗口到设备坐标系中的视区的变换。
26
变换的模式
x
y y
O
x
O(O)
27
其它变换
对称变换
◦ 对称变换后的图形是原图形关于某一轴线 或原点的镜像。
28
其它变换
◦ 关于x轴对称
29
其它变换
◦ 关于y轴对称
30
其它变换
◦ 关于原点对称
31
其它变换
◦ 关于y=x轴对称
32
其它变换
◦ 关于y=-x轴对称
33
2
2
2
5
变换的数学基础
矩阵
◦ m×n阶矩阵A定义为
a11 a A 21 a m1 a12 a 22 am2 a1n a2n a mn
◦ ◦ ◦ ◦
零矩阵 n阶矩阵,n阶方阵 行向量,列向量 单位矩阵(I)
6
变换的数学基础
22
复合变换
我们需要对一个图形对象进行复杂的变换时。 并不直接去计算这个变换,而是将其分解成多 个基本变换,再依次用它们作用于图形。 变换合成时,矩阵相乘的顺序是:先作用的变 换放在连乘式的右端,后作用的变换放在连乘 式的左端,由于矩阵乘法不满足交换率,只有 在特殊情况下,矩阵的顺序才可交换。