【现代计算机图形学】002-变换
二维变换:
我们要把矩阵和变换联系起来。
举个例子:我们缩放一张图片,我们把图片视为一个矩阵,那么我们将其乘以一个0到1的小数,就得到了缩放后的图片。

但我们单独缩放x值时:

当我们尝试将图片对称时:
y轴对称,则x取负值

切变:
上边向右移动了距离a,但y轴高不变。
底边不变,也就是说,在y为1的情况下,x的每个坐标都向右移动了y*a个单位。
体现在矩阵中,如下图公式。
(个人认为左上到右下的值为缩放,右上到左下的值为偏移)

旋转:
在不确定原点和方向的情况下,默认原点为(0,0),默认方向为逆时针。

旋转,可以看作每一个点,在乘以一个矩阵后,得到了一个新的位置。而实际上,偏移缩放,也是可以这样理解的。如何得到这个矩阵,就是变换的关键。
已知在旋转中,大小不变。那么我们可以通过一条边的长度,旋转的角度,根据勾股定理得到其余两条边的长度。于是便得到了第一个特殊点(cos角度,sin角度)。
既然我们已经有了初始点位,变换后的点位,便可以根据初始点位与矩阵的叉积,得到变换后的点位。再然后便是二元一次方程。得解。

总结:
我们的变换总是遵从下图的规律,这种变换称之为线性变换。

齐次坐标:
图片的平移,只需要单纯地加上偏移量就可以了。
但这样,我们无法把它写成矩阵公式。

所以在平移计算中,我们只能另外添加一个向量来得到最终结果。

但我们希望得到一个更方便的变换方式,来解决所有的变换问题。所以我们引入了齐次坐标。
用空间复杂度来将平移变换写入公式。
点的坐标变换,引入变量1,向量为了维持方向不变,引入变量0。


逆变换:
我们将变换的方法进行逆变换,便得到未变换的值。
即坐标乘以矩阵后得到的值,再乘以这个矩阵的逆矩阵,便会得到未变换的值。

注意:
变换的顺序是非常重要的。先旋转后平移和先平移后旋转是两个结果。就如同矩阵的乘法不满足交换律。
其结果便是矩阵不满足交换律。
向量默认作为列向量。
矩阵的计算是从右到左的计算顺序。
三维变换:
三维变换和二维变换极为相似,在原有计算的基础上更换为四维矩阵。