(16)二维图形复合变换

来源:互联网 发布:acrobat xi注册机 mac 编辑:程序博客网 时间:2024/04/27 21:17

有些变换仅用一种基本变换是不能实现的,必须由两种或多种基本变换组合才能实现。这种由多种基本变换组合而成的变换称之为复合变换,相应的变换矩阵称作为复合变换矩阵。

比如:已知三角形各顶点坐标为(10, 10),(10, 30),(30, 15),对其进行下列变换,试写出复合变换矩阵。
(1)沿X方向平移20,沿Y方向平移15,再绕原点旋转90度。
(2)绕原点旋转90度,沿X方向平移20,沿Y方向平移15。
(3)沿X方向放大2倍,Y方向缩小3倍,关于原点对称,绕原 点旋转180度。 


1.绕任意点P(xp, yp)作旋转变换,旋转角度为θ。


将旋转中心P(xp, yp)平移到坐标原点,变换矩阵为:


绕坐标原点旋转θ角,变换矩阵为:


将旋转中心P(xp, yp)平移回原来的位置,变换矩阵为:


因此,绕任意点P(xp, yp)旋转的复合变换矩阵为:



2.相对于任意点P(xp, yp)作比例变换,比例系数为(Sx, Sy),即P点不变的比例变换。


将点P(xp, yp)平移至坐标原点,变换矩阵为:

 

相对于坐标原点作比例变换,变换矩阵为: 


将点P(xp, yp)平移回原来位置,变换矩阵为:


因此,相对于任意点P(xp, yp)作比例变换的复合变换矩阵为:   T = T1*T2*T3


3.相对于任意点P(xp, yp)作对称变换 

将点P(xp, yp)平移至坐标原点,变换矩阵为:


相对于坐标原点作对称变换,变换矩阵为:


将点P(xp, yp)平移回原来位置,变换矩阵为:


因此,相对于任意点P(xp, yp)作对称变换的复合变换矩阵为:T = T1*T2*T3 


4.关于任意直线作对称变换,直线方程为y=mx+b

平移直线(以沿Y轴平移为例),使其通过坐标原点,变换矩阵为: 


绕原点顺时针旋转角,使其与X轴重合(其中,tgθ=m)


关于X轴作对称变换,变换矩阵为: 


绕原点逆时针旋转角(即作第(2)步的逆运算),变换矩阵为:


平移直线,使其回到原来位置(即作第(1)步的逆运算),变换矩阵为: 


因此,关于任意直线作对称变换的复合变换矩阵为:     T = T1*T2*T3*T4*T5 


综上所述,复合变换是通过基本变换组合而成的。
注意:由于矩阵乘法不适用于交换律,即AB≠BA,因此组合的顺序是不能颠倒的,顺序不同,则变换结果不同。




0 0
原创粉丝点击