计算机图形学 图形变换
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 0
0
sin
45
1 0
cos 45 0
0
(
1
2 , 3 2 , 1) 22
cos 45 sin 45 0 1 0 0
(1, 1, 1) sin 45 cos 45 0 0 1 0 (1, 2 , 1)
0
0 1 1 0 1
39
• 对称变换
p ' x'
a d 0
y ' 1 x
3
右手系
左手系
4
第一节 变换的数学基础
一、向量及向量运算
设有向量a (
的向量运算有:
x1
,
y1,
z1
)
,b ( x2 , y2 , z2 )
1) 向量的长度
,有关
a a • a x1x1 y1 y1 z1z1
2)两个向量的和差运算
a b ( x1 x2 , y1 y2 , z1 z2 )
8
有关的矩阵运算有:
• 数乘矩阵
ta11
ta12
tA
ta21
ta22
tam1 tam2
ta1n
ta2n
tamn
9
• 矩阵的加法运算
a11
b11
A
B
a21
b21
am1
bm1
a12 b12 a22 b22
am2 bm2
a1n b1n
a2n
b2n
amn
bmn
10
• 矩阵的乘法运算
a
d
g
T2D
b
c
e f
h
i
a11 a12 a13 a14
T3 D
a
21
a31 a41
a22 a32 a42
a23 a33 a43
a
24
a a
34 44
21
使用齐次坐标还可以表示无穷远点。在
n+1维齐次坐标表示中,h 0 的齐次坐标实际
上表示了一个n维的无穷远点。
例如二维齐次坐标a , b , h ,在 h 0 时表示了
多数常见的二维几何变换都可以通过这 三种基本几何变换的组合来达到。
32
➢ 相对于平面上任意一点(x0,y0)作变换,
可以 1. 先平移(x0,y0)到原点; 2. 相对于原点作变换; 3. 再平移回(x0,y0)。
33
例:相对于平面上任意一点 ( x 0 , y 0 ) 的比例变 换矩阵:
T (x0 , y0 ) • S (Sx , S y ) • T (x0 , y0 )
果 h 0 ,就可以用h除齐次坐标的各分量,这
一方法称之为齐次坐标的规范化。经过规范化 后的齐次坐标就是唯一的了。
规范化后的齐次坐标:
( P1 , P 2 , , P n ,1 )
20
齐次坐标的应用
应用齐次坐标可以有效地用矩阵运算把二 维、三维甚至更高维空间中点集从一个坐标系 转换到另一个坐标系中。
x’=x,y’=-y,产生相对于x轴对 称的反射图形。
3)当b=d=0 ,a=e=-1时,有x’=-x,
y’=-y,产生相对于原点对称的 反射图形。
1 0 0
0
1 0
0 0 1
1 0 0
0
1 0
1 0 0
0 1
0 1 0 1 0
0 0 1
0 0
4)当b=d=1 , a=e=0时,有x’=y, y’=x,产生相对于直线 y=x 对 称的反射图形。
a21b12
a22b22
a23b32
C (C ij ) m p A mn • B n p
11
矩阵运算具有如下基本性质: • 数乘矩阵适合分配律和结合律,即:
t(A B) tAtB t(A•B)(t• A)•B A•(t•B) (t1t2)At1• At2 • A t1(t2 A) (t1t2)A
• 矩阵的乘法不适合交换律
因为当两个矩阵 A,B 能够相乘时,如果它们 不是方阵,则 B,A不能相乘。即使A,B均为
方阵,在一般情况下 A • B 和 B • A 也不相等。
14
▪ 零矩阵及其运算
Amn 0 mn Amn
▪ 单位矩阵
1 0 0 I 0 1 0
0 0 1
Amn • I nn Amn I mm • Amn Amn
当 b 0 ,且 d 0 时,x’=x+by,y’=dx+y,图
形沿x轴、y 轴两个方向作错切移位。
44
45
d>0,b>0
dd<<00,,bb>>00
d>0,b<0
d<0,b<0 算法演46示
平移变换只改变图形的位置,不改变图形的 大小和几何形状;
第三章 图形变换
图形从输入到输出贯穿着各种变换。 • 平移、旋转、比例 • 投影 • 窗口 • 视区
1
为了描述物体的形状,需要引入坐标系统。
2
本体坐标系(模型坐标系):是为规定基本形体而 引入的便于描述的坐标系。 用户坐标系(世界坐标系):是用户引入描述整个 形体的坐标系。 观察坐标系(视坐标系或目坐标系):为说明观察 的姿态而引入,也就是观察者所处的位置。 规范化设备坐标系:图形系统为了与设备无关引入 的坐标系,通常约定为二维正方形或三维正方体, 即各坐标范围规定为从0至1。。 设备坐标系(屏幕坐标系或显示坐标系):最终的 图形显示设备的坐标系。
, n ) 数排成的
a11
a12
A
a21
a22
am1
am2
a1n
a2n
amn
简记成 A ( a ij ) m n A ( a ij ) m n
7
行矩阵或行向量:
列矩阵或列向量:
(a11, a12 , , a1n )(m 1)
矩阵的相等:
a11
a21
(n
1)
am1
两个矩阵只有在其行数,列数都相同,且所有 对应位置元素都相等时,才是相等的。
cos
y
)
sin
sin
co
s
27
a d g
T2D b
e
h
c f i
a d
b
e
比例、 旋转、 对称、 错切等
c f
平移
g
i
h
投影
整体图形 作比例
28
假设做二维图形几何变换前图形上一点
的坐标为 p x y 1 ,变换后的坐标 为 p ' x ' y ' 1 ,则可得到下面的二维图形
个矩设阵有的矩乘阵积矩A 阵(aCij为) 2: 3 、B (bij )3 2 ,则这两
C
A
•
B
a11 a21
a12 a22
a13 a23
b11 b21 b31
b12
b2
2
b32
a11b11 a21b11
a12b21 a22b21
a13b31 a23b31
a11b12 a12b22 a13b32
的齐次坐标表示为
x , h 2 y , h 2 , …,h m
h
x,h
x
m
,hy,h
y,hm
,
都是表示二维空间中的同一个点。
三维空间中的坐标点的齐次坐标可表示
为 h x, h y , h z, h 。
(2,3,1),(4,6,2),(6,9,3)
(2,3)
19
为了便于计算,通常都使 h 1 。如
当d=0 时,x’ =x+by,y’=y,此时图形的y坐标
值不变,x坐标值随初值(x,y)及变换系数b作线 性变化:若b>0,图形沿x轴正方向作错切移位; 若b<0,图形沿x轴负方向做错切移位。
当b=0时,x’=x,y’=dx+y,此时图形的x坐标值 不变,y坐标值随初值(x,y)及变换系数d作线性 变化:若d>0,图形沿y轴正方向做错切移位; 若d<0 ,图形沿y轴负方向作错切移位。
12
• 矩阵的加法适合交换律和结合律,
ABB A A(B C) (A B)C 其中A ,B ,C 为矩阵。
• 矩阵的乘法适合结合律,即:
A (B C ) (A B)C
13
• 矩阵的乘法对加法适合分配律,即:
(A B)•C A •C B •C C • (A B) C • A C • B
二维空间中的一条直线 b x a y 0 上的无穷远
点。
ybx a
22
y1x 2
23
第二节 二维图形变换
对一个图形作几何变换就是对该图形上 的每一个点作相应的几何变换。
常见的基本二维图形几何变换有:
• 平移变换 • 比例变换 • 旋转变换
24
平移变换:
( x , y ) ( x , y )
0 0
0 1 0 1 0
0
1
5)当b=d=-1 , a=e=0时,有x’=-y, 1 0 0
y’=-x,产生相对于直线 y=-x 对 称的反射图形。
0 0 1
41
42
• 错切变换
1 d 0
p ' x ' y ' 1 x y 1 b 1 0
0 0 1
x by dx y 1
43
y 1 b
e
0
0 0 1
ax by dx ey 1
40
当a、b、d、e取不同值时产生不 a d 0
同的对称变换。
1 ) 当 b=d=0 , a=-1 , e=1 时 , 有 x’= -x,y’=y,产生相对于y轴
b e 0 0 0 1
对称的反射图形。
2 ) 当 b=d=0 , a=1 , e=-1 时 , 有
1
0
0
cos
sin
0
1
0 0
0
1
0
sin
cos
0
0
1 0
x0
y0
1
0
0
1
x0
y0
1
cos
sin
0
sin
cos
0
x0
(1cos
)
y0
sin
y0(1cos ) x0 sin
1
36
37
通过计算单个变换的矩阵乘积,可以将任 意顺序变换的矩阵建立为复合变换矩阵。本书 中坐标点是用行矩阵来表示,因此通过以从左 向右的次序进行矩阵相乘来形成复合矩阵。即 每个随后的变换矩阵右乘前面的变换矩阵。
一个对称矩阵。
17
三、齐次坐标
齐次坐标表示法就是用n+1维向量表示一 个n维向量。 非齐次坐标表示(唯一):
( P1 , P2 , , Pn )
齐次坐标表示(不唯一):
( h P1 , h P2 , , h Pn , h )
18
则
二维点( x, y )
h1 x , h1 y , h1 ,h 2
30
• 旋转变换
p ' x ' y ' 1 x x • cos y • sin
cos sin 0
y
1
sin
cos
0
0
0 1
x • sin y • cos 1 p • R( )
31
三种基本的几何变换矩阵
平移:T (T x , T y )
比例:S ( S x , S y ) 旋转: R ( )
x x Tx y y Ty
( x y ) ( x y ) (T x T y )
25
比例变换:
x' xSx y' ySy
(x
y) (x
y
)
Sx 0
0
S
y
26
旋转变换:通常约定以逆时针方向为正方向。
x' x cos y sin y' x sin y cos
(x
y ) (x
1
0
0 0 Sx 0 0 1 0 0
1
0
0
Sy
0
0
1 0
x0 y0 1 0 0 1 x0 y0 1
Sx 0
0
0
Sy
0
x0 (1 Sx ) y0 (1 S y ) 1
34
35
例:相对于任意一点 ( x 0 , y 0 ) 旋转变换矩阵:
T (x0, y0)• R( )•T (x0, y0)
5
3) 两个向量的点乘积
a • b x1x2 y1 y2 z1z2
4) 两个向量的叉乘积
i jk ab x1 y1 z1
x2 y2 z2 ( y1z2 y2z1, z1x2 z2x1, x1y2 x2 y1)
6
二、矩阵及矩阵运算
m n个
矩形表
a
ij
(i
1,
2
,
, m ; j 1, 2,
百度文库几何变换矩阵
• 平移变换
1 0 0
p ' x ' y ' 1 x
y
1
0
1
0
Tx Ty 1
x Tx y Ty 1 p • T (Tx ,Ty )
29
• 比例变换
Sx 0 0
p ' x'
y ' 1 x
y
1
0
Sy
0
0 0 1
x • Sx y • S y 1 p • S (Sx , S y )
矩阵乘法不满足交换率,因此求复合矩阵 时,必须注意单个变换矩阵的次序。一般来说, 连续的相同类型的变换可以交换次序。不同类 型的变换不能交换次序。
38
例:对坐标点(1,1)作变换: ①先平移(1,0),再旋转45 ②先旋转45,再平移(1,0)
1 0 0 cos 45 sin 45 0
(1, 1, 1) 0 1
15
▪ 逆矩阵
对任意矩阵A,如果存在 A • A 1 A 1 • A I
则称A-1为A的逆矩阵。
设A是一个n阶矩阵,如果有n阶矩阵B存在,使
得 A • B B • A I ,则说A是一个非奇异矩阵,
并且B是A的逆矩阵。否则,则说A是一个奇异 矩阵。由于A,B处于对称地位,所以当A非奇 异时,其逆矩阵B也非奇异,而且A也就是B的 逆矩阵,即A,B互为逆矩阵。任何非奇异矩阵 都只能有一个逆矩阵。
16
▪ 转置矩阵
将n 矩m 阵阶A矩阵(ai称j )作m 的n 转的置行矩、阵列,互记换为而A得T 。到的
矩阵的转置具有如下几个基本性质:
( AT )T A ( A B)T AT BT (tA)T tAT ( A • B)T BT • AT
当A是一个n阶矩阵并且有 A A T 时,则说A是