变换
一、2D变换(2D Transformations)
(1)放缩(Scale)
①2D场景中将图形等比例缩小0.5倍,该操作对应的图像以及坐标变换如下。
②坐标变换可以写成矩阵形式。
③也可以不等比例进行放缩,对应的图像以及坐标变换如下:
(2)翻转(Reflection)
①2D场景中将图形绕y轴翻转,该操作对应的图像以及坐标变换如下。
(3)剪切变换(Shear Transformation)
(4)旋转(Rotate)
①计算机图形学中,默认绕着(0,0)逆时针旋转。
②2D场景中将图形绕原点旋转45度,该操作对应的图像以及坐标变换如下。
(5)线性变换
①上述操作的坐标变换都可以写成x和y的组合变换,同时可以写成矩阵形式,此时有一个变换矩阵。
二、齐次坐标(Homogeneous coordinates)
(1)平移 transiation
①发现平移的公式无法改写成线性变换对应的矩阵形式公式。
②此时只能改写成如下形式,但这种情况并不是线性变换,因此引入了齐次坐标来尝试解决。
(2)2D齐次坐标
①点的第三维为1,因为点平移会发生变化。
②向量的第三维为0,因为向量具有平移不变性。
③向量与点的齐次坐标运算性质如下图。
④其中,点+点表示这两个点的中点。
(3)仿射变换(Affine Transformation)
①仿射变换指的是进行一次线性变换,然后进行一次平移。
②仿射变换对应的变换矩阵如下。
三、逆变换(Inverse Transformation)
(1)逆变换为变换的逆操作。
(2)逆变换对应的矩阵为变换矩阵的逆矩阵。
四、组合变换(Compose Transformation)
(1)下图对同一张图按照不同顺序分别进行了两种操作:
①上图先进行平移,再旋转。
②下图先进行旋转,再平移。
③由于每次变换都相当于左乘一个矩阵,操作的顺序会影响矩阵相乘的顺序,从而影响最终的结果。写成公式形式如下图。
(2)组合变换推广
①从两次操作的组合变换推广到多次操作的组合变换。
(3)组合变换分解
①图上所给的例子为如何获得绕点c旋转的变换矩阵。
②先做平移-c回到原点,再旋转对应角度,最后做平移c返回原位。
五、3D变换(3D Transformations)
(1)3D变换中,点和向量对应的齐次坐标如下,在最后一行分别添加1或0即可。
(2)进行仿射变换的3D变换对应的齐次矩阵如下。
①同样是先进行线性变换,再进行平移操作。