计算机图形学二维变换

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

y
b=0
A
B c=-1
O
x
D
C
(c)沿-x方向错切
b=1 y
c=0
B
A
O
x
C
D
y
A
O
D
b=-1 c=0 B
x
C
y
b=1
B
c=1
A
O
x
C
D
(d)沿+y方向错切
(e)沿-y方向错切
图5-5错切变换
(f)沿+x和+y方向错 切
x' x cy
沿x,y方向的错切变换的坐标表示为:
y'
bx
y
相应的齐次坐标矩阵表示为:
5.2.1 平移变换矩阵
y
平移变换是指将坐标 6
点P(x,y)从位置移动到 5
P‘(x’,y‘)位置的过程,如 4 3
图5-1所示。平移变换 2
的坐标表示为:
1
O
x' x Tx
y'
y
Ty
P’
P
Tx
Ty
123456x
图5.1 平移变换
相应的齐次坐标矩阵表示为:
1 0 0
x' y' 1 x Tx
旋转变换的坐标表示为:
x' r cos( ) x cos y sin
y'
r
sin(
)
x sin
y
cos
相应的齐次坐标矩阵表示为:
x' y' 1 x cos y sin xsin y cos 1
cos sin 0
x y 1 sin cos 0
0
0 1
因此,二维旋转变换矩阵为:
d
q
l m s
(5-2)
从功能上可以把二维变换矩阵T分为4个子矩阵。其中
a T1 c
b
d
是对图形进行比例、旋转、反射和错切变换;
T2 l m 是对图形进行平移变换;
p
T3
q
是对图形进行投影变换;
T4 s 是对图形进行整体比例变换。
5.1.4 二维几何变换
二维几何变换的基本方法是把变换矩阵作为一个算子, 作用到变换前的图形顶点集合的规范化齐次坐标矩阵上, 得到变换后新的图形顶点集合的规范化齐次坐标矩阵。连 接变换后的新图形顶点,就可以绘制出变换后的二维图形
(c)关于y轴反射
关于原点反射的坐标表示为:
x' x
y'
y
相应的齐次坐标矩阵表示为:
1 0 0
x'
y' 1 x y 1 x
y
1
0
1 0
0 0 1
因此,关于原点的二维反射变换矩阵为:
1 0 0
T
0
1 0
0 0 1
(5-7)
同理可得,关于x轴的二维反射变换矩阵为:
1 0 0 T 0 1 0
a11
A
B
a21
a12
a22
a13
a23
b11 b21
b12 b22
b13
b23
an1
an2
an3
b31
b32
b33
a11b11 a12b21 a13b31
a21b11
a22b21
a23b31
an1b11 an2b21 an3b31
a11b12 a12b22 a13b32 a b 21 12 a22b22 a b 23 32
二维图形基本几何变换是指相对于坐标原 点和坐标轴进行的几何变换,包括平移、比例、 旋转、反射和错切五种变换。本节以点的二维 基本几何变换为例进行讲解。二维坐标点的基 本几何变换可以表示成P’=PT的形式,其中,P 为变换前点的规范化齐次坐标点, P’为变换后 点的规范化齐次坐标点,T为3×3的变换矩阵。
5.1 图形几何变换基础
5.1.1 规范化齐次坐标 5.1.2 矩阵相乘 5.1.3 二维变换矩阵 5.1.4 二维几何变换
5.1.1 规范化齐次坐标
为了使图形几何变换表达为图形顶点集合矩阵与某 一变换矩阵相乘的问题,引入了规范化齐次坐标。
所谓齐次坐标就是用n+1维矢量表示n维矢量。例 如,在二维平面中,点P(x,y)的齐次坐标表示为(wx, wy,w)。类似地,在三维空间中,点P(x,y,z)的齐 次坐标表示为(wx,wy,wz,w)。这里,w为任一 不为0的比例系数,如果w=1就是规范化的齐次坐标。 二维点P(x,y)的规范化齐次坐标为〔x,y,1〕,三维 点P(x,y,z)的规范化齐次坐标为〔x,y,z,1〕。不 能写成下标形式,w和x,w和y,w和z是乘法的关系。
令b=0可以得到沿x方向的错切变换,c>0是沿 x正向的错切变换,c<0是沿x负向的错切变换,如 图5-5(b)和(c)所示。
令c=0可以得到沿y方向的错切变换,b>0是沿 y正向的错切变换,b<0是沿y负向的错切变换, 如图5-5(d)和(e)所示。
上面讨论的五种变换给出的都是点变换的公 式,对于线框模型,图形的变换实际上都可以通 过点变换来完成。例如直线段的变换可以通过对 两个顶点坐标进行变换,连接新顶点得到变换后 的新直线;多边形的变换可以通过对每个顶点进 行变换,连接新顶点得到变换后的新多边形来实 现。曲线的变换可通过变换控制多边形的控制点 并重新画线来完成。
cos sin 0
T sin cos 0
(5-6)
0
0 1
式中,α为旋转起始角,β为旋转终止角。式 (5-6)为绕原点逆时针旋转的变换矩阵,若旋 转方向为顺时针,β角取为负值。
顺时针旋转变换矩阵为:
cos( ) sin( ) 0 cos sin 0
T sin( ) cos( ) 0 sin cos 0
符合下面形式的坐标变换称为二维仿射变换 (Affine Transformation)。
x' y'
a11x a21x
a12 y a13 a22 y a23
(5-11)
变换后的坐标x’和y’都是变换前的坐标x和y的线 性函数。参数aij是由变换类型确定的常数。
仿射变换具有平行线变换成平行线,有限点 映射到有限点的一般特性。平移、比例、旋转、 反射和错切五种变换都是二维仿射变换的特例, 任何一组二维仿射变换总可表示为这五种变换 的组合。因此,平移、比例、旋转、反射的仿 射变换保持变换前后两直线间的角度、平行关 系和长度之比不改变。
1 b 0
x' y' 1 x cy bx y 1 x y 1 c 1 0
0 0 1
因此,沿x,y两个方向的二维错切变换矩阵为:
1 b 0 T c 1 0
0 0 1
其中c、b为错切参数。
(5-10)
在前面的变换中,子矩阵
a T1 c
b
d
的非对角线元素大多为零,如果c和b不为零,则 意味着对图形进行错切变换,如图5-5(f)所示。
定义了规范化齐次坐标以后,图形几何变换可以表 示为图形顶点集合的规范化齐次坐标矩阵与某一变换矩 阵相乘的形式。
5.1.2 矩阵相乘
二维图形顶点表示为规范化齐次坐标后,其图形顶 点集合矩阵一般为n×3的矩阵,其中n为顶点数,变 换矩阵为3×3的矩阵。在进行图形几何变换时需要用 到线性代数里的矩阵相乘运算。例如,对于n×3的矩 阵A和3×3的矩阵B,矩阵相乘公式为:
0
0 1 0
0 1
5.2.4 反射变换矩阵
反射变换也称为对称变换,是将坐标点P(x,y) 关于原点或某个坐标轴反射得到 P’(x‘,y’)点的过程。 具体可以分为关于原点反射、关于x轴反射、关于 y轴反射等几种情况,如图5-4所示。
y
y
y
O
x
(a)关于原点反射
O x
O
x
(b)关于x轴反射
图5-4反射变换
a11b13 a12b23 a13b33
a21b13
a22b23
a23b33
a31b13 a32b23 a33b33
类似地,可以处理三维变换的两个4×4的矩阵相乘问题
5.1.3 二维变换矩阵
用规范化齐次坐标表示的二维基本几何
变换矩阵是一个3×3的方阵,简称为二维变换
矩阵。
a b p
T c
复习:
设变换前图形顶点集合的规范化齐次坐标矩阵为:
x1 y1 1
P
x
2
y2
1
x
n
yn
1
变换后图形顶点集合的规范化齐次坐标矩阵为:
x'1 y'1 1
P'
x'
2
y'2
1
x'
n
y'n
1
a b p
二维变换矩阵为: T c
d
q
l m s
则二维几何变换公式为,可以写成:
x'1
设变换前图形顶点集合的规范化齐次坐标矩阵为:
x1 y1 1
P
x
2
y2
1
x
n
yn
1
变换后图形顶点集合的规范化齐次坐标矩阵为:
x'1 y'1 1
P'
x'
2
y'2
1
x'
n
y'n
1
a b p
二维变换矩阵为: T c
d
q
l m s
则二维几何变换公式为,可以写成:
x'1
x'
式中,Sx,Sy为比例系数
比例变换可以改变图形的形状。
当Sx=Sy且Sx、Sy大于1时,图形等比放大; 当Sx=Sy且Sx、Sy小于1大于0时,图形等比缩小; 当Sx≠Sy时,图形发生形变。
前面介绍过变换矩阵的子矩阵 T4 s
是对图形作整体比例变换,关于这一点可以令 Sx=Sy=S导出,请注意这里s=1/S,即s>1时, 图形整体缩小;0<s<1时,图形整体放大。
2
y'1
2
1 x1
1
x2
y1
y2
1
1
a c
b d
p
q
x'
n
y'n
1
xn
yn
1
l
m
s
5.2 二维图形基本几何变换矩阵
5.2.1 平移变换矩阵 5.2.2 比例变换矩阵 5.2.3 旋转变换矩阵 5.2.4 反射变换矩阵 5.2.5 错切变换矩阵
5.2 二维图形基本几何变换矩阵
y
6
P‘
5
4
3
2P
1
sy sx
O
123456x
图5.2比例变换
比例变换的坐标表示为:
x' x Sx
y'
y
Sy
相应的齐次坐标矩阵表示为:
Sx 0 0
x ' y ' 1 x Sx
y Sy 1 x
y
1
0
Sy
0
0 0 1
S x
因此,二维比例变换矩阵为:T
0
0 Sy
0 0(5-5)
0 0 1
a11 a12 a13 b11 b12 b13
A B a21
a22
a23
b21
b22
b23
a31 a32 a33 b31 b32 b33
a11b11 a12b21 a13b31 a21b11 a22b21 a23b31
a31b11 a32b21 a33b31
a11b12 a12b22 a13b32 a21b12 a22b22 a23b32 a31b12 a32b22 a33b32
a b n1 12 an2b22 a b n3 32
a11b13 a12b23 a13b33
a b 21 13
a b 22 23
a23b33
an1b13
an2b23
an3b33
(5-1)
由线性代数知道,矩阵乘法不满足交换律,只有左矩 阵的列数等于右矩阵的行数时,两个矩阵才可以相乘。 特别地,对于二维变换的两个3×3的方阵A和B,矩阵 相乘公式为:
计算机图形学二维 变换
◆齐次坐标
◆二维图形基本几何变换矩阵 ◆Cohen-Sutherland直线裁剪算法
5.1 图形几何变换基础 5.2 二维图形基本几何变换矩阵 5.3 二维复合变换 5.4 二维图形裁剪 5.5 Cohen-Sutherland直线裁剪算法
5.1图形几何变换基础
通过对图形进行几何变换,可以由简单图形 构造复杂图形。图形几何变换是对图形进行平 移变换、比例变换、旋转变换、反射变换和错 切变换。图形几何变换可以分为二维图形几何 变换和三维图形几何变换,而二维图形几何变 换是三维图形几何变换的基础 。
x'
2
y'1
y'2
1 x1
1
x2
y1
y2
1
1
a c
b d
p
q
x'
n
y'n
1
xn
yn
1
l
m
s
二维平移变换矩阵为:
1
T
0
0 0 1 0
二维比例变换矩阵为:
Tx Ty 1
Sx 0 0
T
0
Sy
0
0 0 1
二维旋转变换矩阵为:
cos sin 0
y Ty
1 x
y
1
0
1
0
Tx Ty 1
因此,二维平移变换矩阵为:
1 0 0
T
0
1 0
Tx Ty 1
(5-4)
式中,Tx,Ty为平移参数。
5.2.2 比例变换矩阵
比例变换是指坐标点P(x,y)相对于坐标原点 O,沿x方向缩放Sx倍,沿y方向缩放Sy倍,得到 点P’(x’,y‘)的过程,如图5-2所示。
5.2.3 旋转变换矩阵
旋转变换是将坐标 点P(x,y)相对于坐标原 点O旋转一个角度β (逆时针为正,顺时针 为负),得到点P‘(x’,y‘) 的过程,如图5-3所示。
y
6
P’
5
4
3
P
2
β
1
α
O
123456x
图 5-3 旋转变换
对于P ( x, y )点,极坐标表示为:
x r cos
y
r
sin
0 0 1
(5-8)
同理可得,关于y轴的二维反射变换矩阵为:
1 0 0
T
0
1 0
0 0 1
(5-9)
5.2.5 错切变换矩阵
错切变换是将坐标点P(x,y)沿x和y轴发生不等 量的变换,得到点P‘(x’,y‘)的过程 。如图5-5所示。
y
A
O
D
B
x
C
y
b=0
c=1 A
B
O
x
D
C
(a)正方形
(b)沿+x方向错切
相关文档
最新文档