计算机图形学感想_03

计算机图形学_03


缩放(Transform)


缩放(Scale)

计算机图形学感想_03


反射或对称(Rflection)

计算机图形学感想_03


切变(Shear)

y轴大小不发生改变。
横向移动为0时y为0,横向移动为1时y为1.
计算机图形学感想_03


旋转(Rotate)

对应以原点为中心,逆时针旋转。
计算机图形学感想_03
计算机图形学感想_03

以上都是线性运算

线性运算的一般形式。
计算机图形学感想_03


平移不能利用简单的线性运算的到,必须涉及到矩阵的加法。
计算机图形学感想_03
引申出一种变换,仿射变换。
仿射变换 = 线性运算 + 平移变换


于是就有了齐次坐标的概念。
齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。
计算机图形学感想_03
思考为什么点和向量区别对待呢?
对于点,为了便于把平移操作移入矩阵运算中,即把上面的向量相加变成,其中tx就是x坐标平移多少,对应的ty是y平移多少。
计算机图形学感想_03
对于向量,因为向量具有平移不变性,对于向量平移后实则是较原来不变的。


那么对于齐次坐标下面的z的大小是不是有研究呢?
计算机图形学感想_03
上述前三种情况大家都很容易考虑到,但是对于点与点相加的情况下,这有什么意义呢?
后面学者们规定了z不等于0的时候,齐次坐标下对于的x,y除以z后是对应二维坐标系下的x,y实际坐标。


因此对于仿射变换和线性变换之间的关系可以用下图概括。 同时下面有具体的矩阵表示形式。

计算机图形学感想_03


下面公式中左上角的四个数代表的就是线性变换的矩阵,旁边的tx,ty对应着平移变换,最下面一列就和齐次坐标中添加的1一样是固定的0.0.1.


这是上面三种线性变换加上平移变换后的矩阵形式。
计算机图形学感想_03


那么之前谈过的逆矩阵在这些变换总有什么作用呢?
计算机图形学感想_03
很简单,逆矩阵的作用就是将变换后的图像变回原样。


计算机图形学感想_03
这又代表什么呢? 首先很明显 ,矩阵不满足交换律,我先旋转后平移的图像跟先平移后旋转的图像二者肯定是不一样的。


如果我们要先旋转后平移,对应的矩阵操作应该是上述形式,对应在后面的操作要往乘的左边添。
计算机图形学感想_03
同时这也表示,在二维坐标系里面,一个3*3的矩阵能表示能复杂的仿射变换


三维坐标下的仿射变换

类似的,首先我们要把对应三维坐标变换到齐次坐标的形式下,对应的性质也跟上述的没有任何区别。
计算机图形学感想_03


然后是对应仿射变换的矩阵表达形式。
计算机图形学感想_03




学习链接 点击这里





感谢闫令琪老师,感谢分享,本文纯属个人理解和感想,有不同意见十分乐意评论指出,谢谢!



变换有关的还没总结完,之后会继续在本文更新。