5图形变换

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

• 对⊿ABC实施如下几何变换,写出变换矩阵。
2 M 2 2 2 0 2 0 0 1
P' x
2 0 0 2 2 0 2 0 2 2 y 1* 0 0 1 0
T1 缩放变换
2 2 0 1 0 0 2 2 0 0 1 0 0 1 2 0 1
Y
30
变换矩阵为:
20
10
0 10 20 30 X
cos T4 sin 0
sin cos 0
0 0 1
5)将轴线平移回原来的位置
Y
30
变换矩阵为:
20
10

0 10 20 30 X
1 0 0 T5 0 1 0 0 b 1
X
0 10 20 30
整个图形变换的复合变换矩阵:
P' P * T1 * T2 * T3 3 0 0 2 1 0 * 1 P* 1 0 2 10 25 1 0 1 2 3 2 0 0 1 0 0 0 * 0 1 0 1 10 25 1
y ' 1 x S x
y S y 1 x
Sx y 1 0 0
0 Sy 0
0 0 1
Sx=Sy>1 原图 原图 Sx<Sy
Sx=Sy<1
Sx>Sy
(a) Sx=Sy比例
(b) Sx<>Sy比例
比例变换
5.2.3 旋转变换矩阵 将p点绕坐标原点转动某 个角度(逆时针为正,顺 时针为负)得到新点p’的 过程。 p点的极坐标表示:
1 b 0 y 1 c 1 0 0 0 1
• 二维变换矩阵T2D
x'
y ' 1 x
y 1 T2 D x
a d b e :对图形进行缩放、旋转、对称、错切等变换。 c f :对图形进行平移变换。 g :对图形做投影变换。 h i :对整体图形进行伸缩变换。
相应的齐次坐标矩阵表示为:
x'
y' 1 x cos y sin
x cos y 1 sin 0
x sin y cos 1
sin cos 0 0 0 1
5.2.4 对称变换矩阵 将p点关于原点或某个坐 标轴对称得到新点p’的过 程。
T3平移变换
T2旋转变换
§5.4 二维图形裁剪
• 计算机图形学中常用的坐标系:
设备坐标系
观察坐标系
窗口
用户坐标系
视区 Viewport
规格化设备坐标系是将设备坐标系规格化到(0.0, 0.0)到(1.0,1.0)的范围内而定义的坐标系。
视窗变换
Yw
窗口
(x w , y w)
设窗口的四条边界WXL、WXR 、WYB、WYT WYT 视图的四条边界VXL、VXR 、VYB、VYT
第五章 二维变换和裁剪
• 5.1 图形几何变换基础 • 5.2 二维图形基本几何变换矩阵 • 5.3 二维复合变换 • 5.4 二维图形裁剪 • 5.5 Cohen-Sutherland直线段裁剪算法 • 5.6 中点分割直线段裁剪算法
• 5.7 梁友栋-Barsky直线段裁剪算法
§5.1 图形几何变换基础
T1 T2 T2 T1
5.3.2 相对于任一参考点的二维几何变换
二维基本几何变换都是相对于坐标原点进行的。 相对于任一参考点的变换方法为首先将参考点平 移到坐标原点,对坐标原点进行二维基本几何变 换,然后再将参考点平移回原位置。
Y
30
Q(10, 25)
20
三角形相对于点Q(10, 25)逆时针旋转30度, 求变换后的三角形顶 点坐标。
0 10 20 30 X
1)将点(0,b)平移至坐标原点
Y
30
20
变换矩阵为:
1 0 0 T1 0 1 0 0 b 1
10
0 10 20 30 X
2)将轴线y=kx绕坐标原点顺时针旋转β角 (β=arctank),落于x轴上
Y
变换矩阵为:
cos T2 sin 0
Y P' r
β
r
α
P X
x r cos y r sin
x' r * cos
旋转变换
y’ 是多少?
r * (cos * cos sin * sin ) x * cos y * sin
旋转变换的坐标表示为:
x' r cos( ) x cos y sin y ' r sin( ) x sin y cos
§5.3 二维复合变换
• 任何一复杂的几何变换都可以看作基本几何变 换的组合形式。 • 复合变换:由若干个基本的几何变换复合而成 的复杂几何变换。 • 变换结果为每次基本变换矩阵的乘积:
P' P T P T1 T2 Tn
注意:矩阵乘法不满足交换律,进行复合变换时, 需要注意矩阵相乘的顺序。
Y
关于原点对称的坐标 表示:
X
x' x y' y
x'
y ' 1 x y 1 x
关于y=x对称的变换矩阵?
1 0 0 0 1 0 y 1 0 0 1
5.2.5 错切变换矩阵 将p点沿x和y轴进行不等量变换得到新点p’的过程。
5.3.3 相对于任一方向的二维几何变换
相对于任意方向的变换方法为首先对任意方向做 旋转变换,使变换方向与坐标轴重合,然后对坐 标轴进行二维基本几何变换,最后做反向旋转变 换,将任意方向还原回原来的位置。
Y
30
y=kx+b
20
(0,b)
10
对所示三角形相对于 轴线y=kx+b作对称 变换,求每一步相应 的变换矩阵。
0
sin cos 0 0 0 1
0 0 1
10
20
30
X
3 2 1 2 0
1
2 3 2 0
3)参考点Q平移回原位置
Y
P3
变换矩阵为:
10
P2
30
20
Q
10
P1
1 0 0 0 1 0 T3 10 25 1
10
0
10
20
30
X
1)Q点平移至坐标原点
Y
变换矩阵为:
30 20
10

1 0 0 T1 0 1 0 10 25 1
X
0 10 20 30
2)三角形相对于坐标原点逆时针旋转30度
Y
变换矩阵为:
30 20
10

cos T2 sin 0
视区
(x v , y v)
VYB Ou VXL VXR
Xv
窗口与视区的对应关系
VXR VXL xv ( xw WXL ) VXL WXR WXL
VYT VYB yv ( yw WYB ) VYB WYT WYB

VXR VXL VXR VXL a c WXL VXL WXR WXL WXR WXL
0 10 20 30 X
30
sin cos 0
20

10
0 0 1
3)三角形相对x轴作对称变换
Y
30
变换矩阵为:
20
10

0 10 20 30 X
1 0 0 T3 0 1 0 0 0 1
4)将轴线y=kx逆时针旋转β角(β=arctank)
1000 1010
1001
1、窗口内
0010 2、明显在窗 口外 3、其它情况
0001
0000
0101
0100
0110 动画演示
Cohen-Sutherland 算法
• 其它情况的处理:
对于窗口外的一个端点,此端点与线段和边界的交点 之间的区段不在窗口中,从而可以裁去,这相当于用 交点来取代这个端点。然后看线段是否全在窗口内。
y y
y
O
x
O
x
O
x
(a)正方 形
(b)沿+x方向错切
(c)沿-x方向错切
y
y
y
O
x
O
x
O
x
(d)沿+y方向错切
(e)沿-y方向错切
(f)沿+x和+y方向错切
x' x cy 沿x,y方向的错切变换的坐标表示为: y ' bx y
相应的齐次坐标矩阵表示为:
x'
y ' 1 x cy bx y 1 x
0 1 Ty
0 0 1
5.2.2 比例(缩放)变换矩阵 对p点相对于坐标原点沿x 方向放缩Sx倍,沿y方向 放缩Sy倍的过程。比例变 换的坐标表示为:
Y
P'(4,3) P(2,1)
x' x S x y' y S y
X 比例变换(Sx=2,Sy=3)
x '
§5.2 二维图形基本几何变换矩阵
5.2.1 平移变换矩阵
将坐标点从位置移动到 另一位置的过程。平移 变换的坐标表示为:
Y C*
Ty
C A O B
A
*
B
*
x ' x Tx y' y Ty
Tx
X
x'
y ' 1 x Tx

y T y 1 x

1 y 1 0 Tx
a y 1 b c
d e f
g h i
x *
y * 1 x
1 0 0 y 1 0 1 0 若i 1, 则总体缩小;否则,总体放大 0 0 i
符合下面形式的坐标变换称为二维仿射变换 (Affine Transformation)。
1000
0001 f
e
1010
p1 0000
p0 d p1
0010
0101
0100
p0
Cohen-Sutherland 算法
• 算法:
– (1)检查线段P0P1是否为完全可见,或完全不可 见,对于这两种情况或完全取之,或完全弃之, 否则“2”; (2) 找到P0P1在窗口外的一个端点P0 (或P1);
x' a11x a12 y a13 y ' a21x a22 y a23
1)变换后的坐标x’和y’都是变换前的坐标x和y的线性函 数,具有可逆性。 2)仿射变换具有平行线变换成平行线,有限点映射到有 限点的一般特性。 3)平移、比例、旋转、反射和错切五种变换都是二维仿 射变换的特例,任何一组二维仿射变换总可表示为这五 种变换的组合。



(3) 用窗口的对应边与P0P1的交点取代该端点P0 (或P1);
• 判断直线段和窗口的关系 • 两个主要步骤:
– 首先将不需要裁剪的直线挑出 – 对其余直线与窗框求交,删去外面部分
• Cohen-Sutherland 算法(1968) • 梁友栋-Barsky 算法(八十年代初)
5.5 Cohen-Sutherland 直线Leabharlann Baidu裁剪算法
• 以区域编码为基础,将窗口及其周围的8个方 向以4 位二进制数(上下右左)进行编码。
窗口中的任一点(x w , y w) 与视区中的 对应点(x v , y v) 存在如下对应关系:
WYB Ow Yv VYT WXL WXR
Xw
xv VXL xw WXL VXR VXL WXR WXL yv VXB yw WYB VYT VYB WYT WYB
• 图形基本几何变换指平移、比例(缩放)、对称、 旋转等变换。 • 对于线框图的变换,以点变换为基础。把图形的 一系列顶点作几何变换后,连接新的顶点系列即 可产生新的图形。 • 齐次坐标:由n+1维向量表示一个n维向量,如三 维点(x,y,z)的齐次坐标为(h*x,h*y,h*z,h) h!=0 – 普通坐标与齐次坐标的关系为一对多 – 提供了用矩阵运算描述图形变换的方法
VYT VYB b WYT WYB
VYT VYB d WYB VYB WYT WYB
X v a X w b 化简为: Yv c Yw d
窗口:用来裁剪对象的区域
(xL,yB) (xR,yT)
• 点的裁剪
• 线段裁剪 • 多边形裁剪
直线段裁剪
相关文档
最新文档