第4章 图形坐标变换与裁剪
4.1 二维图形的坐标变换
在图形显示过程中,用户需对图形进行平移、放大、
旋转等基本的几何变换操作。图形的平移、放大、旋转从
数学上看都是几何性质的“变换”,故又称为图形的几何变
换。
1.二维图形坐标变换的基本原理:
(1) 平移变换:
一个点P(x,y) 平移到P*(x*,y*) ,平移后产生的新坐标如下
:
x*=x+Dx
y*=y+Dy
(2) 变比例变换:
X*=SxX
Y*=SyY
(3) 旋转变换:
X*=Xcos α-Ysin α
Y*=Xsin α+Ycos α
2.坐标变换的矩阵表示形式:
x
一个点的坐标可以用矩阵形式[x y] 或 表示,
y
坐标变换的矩阵表示形式为:
a b
[X* Y*]=[X Y] =[aX+cY bX+dY]
c d
a b
其中:T= 为变换矩阵。
c d
注意,不论变换矩阵中的元素a、b 、c、d为何值时,都
不能使图形产生平移变换,即用2行2列的变换矩阵不能实
现图形的平移变换。这就需要使用图形的另一种表示方法—
齐次坐标。
3.齐次坐标与齐次变换矩阵:
为了进行平移变换,要给二维点的位置矢量增加一个附
加坐标,使之成为三维行向量[x y l] ,即用点的齐次坐标
表示,这样便可进行运算了。
(1) 齐次坐标:
齐次坐标是将一个n维空间的点用n+1维坐标来表示。如
在直角坐标系中,二维点[x y] 的齐次坐标通常用三维坐标
[Hx Hy H]表示,一个三维点[x y z] 的齐次坐标通常用四
维坐标[Hx Hy Hz H]表示。在齐次坐标系中,最后一维坐
标H称为比例因子。
三维直角坐标与其齐次坐标的关系是:
x=Hx/H
y=Hy/H
z=Hz/H
由于H 的取值是任意的,所以任一点可用多组齐次坐标
表示。在一般使用中,总是将H设为“1”,以保持两种坐标
的一致。
(2) 齐次变换矩阵:
对于二维坐标系上的点,齐次坐标为[Hx Hy H],而齐次
坐标变换矩阵的形式是:
a b p
T= c d q
m n s
4.二维复合变换:
实际上,上述介绍的几种基本变换一般不单独出现,通
常出现的都是复合变换。有的图形须经过多次基本变换才
能完成,这种由两个以上基本变换构成的变换称为复合变
换。设各次变换的变换矩阵分别为T