矩阵的几何意义:变换
是指把一些数据如点,方向矢量颜色等通过某些方式转换的过程,下面来给大家介绍一下各种变换矩阵,和概念。
线性变换
f(x)+f(y)=f(x+y)
kf(x)=f(kx)
上面的例子有点抽象,如缩放就是一种线性变换,如f(x)=2x可以表示一个大小为2的统一缩放,即经过矢量x的模是原来的两倍。同样旋转也是一种线性变换。还包括错切、镜像、正交投影等…
仅有线性变换不够的。我们来考虑平移变换例如f(x)=x+(1,2,3)。这不是一个线性变换,它即不满足标量乘法,也不满足矢量加法。如果我们令x=(1,1,1)那么:
f(x)+f(x)=(4,6,8)
f(x+x)=(3,4,5)
可见结果是不一样的,所以就了限仿射变换。仿射变换就是合并线性变换和平移变换的变换类型。仿射变换可以使用一个4X4的矩阵来表示,为此我们需要到四维空间下,这就是齐次坐标空间。
变换名称 | 是线性变换吗 | 是仿射变换吗 | 是可逆矩阵吗 | 是正交矩阵吗 |
---|---|---|---|---|
平移矩阵 | N | Y | Y | N |
绕坐标轴旋转矩阵 | Y | Y | Y | Y |
绕任意轴旋转的矩阵 | Y | Y | Y | Y |
绕坐标轴缩放的矩阵 | Y | Y | Y | N |
错切矩阵 | Y | Y | Y | N |
镜像矩阵 | Y | Y | Y | Y |
正交投影矩阵 | Y | Y | N | N |
透视投影矩阵 | N | N | N | N |
齐次坐标
我们把3X3的矩阵扩展到了4X4的矩阵(多一维为了可以列表平移),这就是我们说的齐次坐标。
分解基础矩阵
已知道一个4X4的矩阵来表示平移、旋转、缩放。我们表示把纯平移、旋转、缩放的矩阵叫作基础变换矩阵,我们可以把一个基础变换矩阵分解为下面四个部分:
其实左上角M3X3用于表示旋转和缩放,t3X1表示平移,01X3是零矩阵即[0,0,0]。
平移矩阵:
需要注意的是:
当第四个分量为1时能得到正确的结果:
当第四个分量为0时,还是原来的结果:
平移矩阵的逆矩阵:
缩放矩阵
沿空间的X轴,Y轴,Z轴进行缩放。同样我们可以适用矩阵乘法来表示一个缩放变换:
旋转矩阵
复合矩阵
变换的结果是依赖于变换顺序的,由于矩阵乘法不满足交换律,因此矩阵的顺序很重要。
比方在大多数情况下,我们就是先缩放,再旋转,最后平移(注意矩阵是从右住左乘的):
要注意的是,这两都是不相等的:
同时也要考虑是否连坐标系一同旋转。