二维图形的几何变换
正如我们在附录中提到的那样,用齐次坐标表示点的变换将非常方便,因此在本节中所有的几何变换都将采用齐次坐标进行运算。二维齐次坐标变换的矩阵的形式是:
这个矩阵每一个元素都是有特殊含义的。
形进行平移变换;[
g
h
]是对图形作投影变换;[
i
]则是对图形整体进行缩放变换。
1)平移变换
2)缩放变换
3)旋转变换
4)对称变换
对称变换其实只是
a
、
b
、
d
、
e
取0、1等特殊值产生的一些特殊效果。例如:
-
当
b
=
d
=0,
a
=-1,
e
=1时有
x
´=-x,y´=y,产生与y轴对称的图形。
-
当
b
=
d
=0,
a
=-1,
e
=-1时有
x
´=x,y´=-y,产生与x轴对称的图形。
-
当
b
=
d
=0,
a
=
e
=-1时有
x
´=-x,y´=-y,产生与原点对称的图形。
-
当
b
=
d
=1,
a
=
e
=0时有
x
´=y,y´=x,产生与直线y=x对称的图形。
-
当
b
=
d
=-1,
a
=
e
=0时有
x
´=-y,y´=-x,产生与直线y=-x对称的图形。
5)错切变换
-
当
d
=0时,x´=x+by,y´=y,此时,图形的y坐标不变,x坐标随初值 (x,y)及变换系数b作线性变化。
-
当
b
=0时,x´=x,y´=dx+y,此时,图形的x坐标不变,y坐标随初值 (x,y)及变换系数d作线性变化。
6)复合变换
如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换。复合变换有如下的性质:
- 复合平移
对同一图形做两次平移相当于将两次的平移两加起来:
- 复合缩放
两次连续的缩放相当于将缩放操作相乘:
- 复合旋转
两次连续的旋转相当于将两次的旋转角度相加:
缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。如果相对某个一般的参考点(
xf
,
yf
)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(
xf
,
yf
)点移回原来的位置。切记复合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。
-
关于(
xf
,
yf
)点的缩放变换
-
绕(
xf
,
yf
)点的旋转变换
http://necweb.neu.edu.cn/ncourse//tuxingxue/Chapter6/CG_Txt_6_011.htm