5.1-5.2 矩阵在图形变换中的应用
矩阵在图形变换中的应用
让每个点的横坐标扩大a倍,纵坐标扩大b倍
- 让每个点关于x轴翻转。
需要找到一个矩阵T ==> T . (x , y) = (x , -y)
由(x , y)得,T需要为两列,
由(x , -y)得,T需要为两行。
==>
==>
因为 ax + by = x
cx + dy = -y
==>
==>
得到了一个变换矩阵,这个矩阵可以让图像中的每一个点都进行关于x轴翻转。
- 让每个点关于y轴翻转。
需要找到一个矩阵T ==> T . (x , y) = (-x , y)
同理可得
==>
==>
- 让每个点都关于原点翻转(x,y轴均翻转)。
需要找到一个矩阵T ==> T . (x , y) = (-x , -y)
同理可得
==>
==>
结合以上2点,让x轴进行翻转为Tx,让y轴进行翻转为Ty。
则让每个点关于原点翻转 ==>
- 沿x方向错切。
在错切变换中,其实y轴的坐标是没有变化的,在y轴上坐标的x值发生了变化,让这个变化的x值与y坐标成一定的比率a。
需要找到一个矩阵T ==> T . (x , y) = (x+ay , y)
同理可得
==>
==>
- 沿y方向错切。
需要找到一个矩阵T ==> T . (x , y) = (x , bx+y)
同理可得
==>
==>
-
旋转
同样需要找到一个矩阵T ==> T . (x , y) = (? , ?) 难点在于终点坐标。
假设在一个二维坐标系中,一个点的坐标为(x,y),将这个坐标沿顺时针方向旋转θ角后得到了新的坐标(x’,y’)。
假设原点坐标(x,y)与x轴夹角为ɑ,该坐标向量的模为d。
==>
其实,在旋转后,从原点到坐标的长度是不变的,即两个向量的模不变都为d
==>
综上所述,可以联立两个等式,从而用 x 表示 x’。
==>
两个角的差的余弦公式、正选公式拓展开。
==>
综上所述,矩阵T . (x , y)就等于
==>
T就等于
==>
验证
==>
在图形学中,矩阵的变换拓展还有很多。
例如在三维坐标中的变换应用。
平移操作 ==> 仿射变换