矩阵的几何意义

矩阵的几何意义:变换

是指把一些数据如点,方向矢量颜色等通过某些方式转换的过程,下面来给大家介绍一下各种变换矩阵,和概念。

线性变换
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的矩阵来表示平移、旋转、缩放。我们表示把纯平移、旋转、缩放的矩阵叫作基础变换矩阵,我们可以把一个基础变换矩阵分解为下面四个部分:
矩阵的几何意义_第1张图片
其实左上角M3X3用于表示旋转和缩放,t3X1表示平移,01X3是零矩阵即[0,0,0]。

平移矩阵:

矩阵的几何意义_第2张图片
需要注意的是:
当第四个分量为1时能得到正确的结果:
矩阵的几何意义_第3张图片
当第四个分量为0时,还是原来的结果:
矩阵的几何意义_第4张图片
平移矩阵的逆矩阵:
矩阵的几何意义_第5张图片

缩放矩阵

沿空间的X轴,Y轴,Z轴进行缩放。同样我们可以适用矩阵乘法来表示一个缩放变换:
矩阵的几何意义_第6张图片

旋转矩阵

矩阵的几何意义_第7张图片

复合矩阵

变换的结果是依赖于变换顺序的,由于矩阵乘法不满足交换律,因此矩阵的顺序很重要。
比方在大多数情况下,我们就是先缩放,再旋转,最后平移(注意矩阵是从右住左乘的):
矩阵的几何意义_第8张图片
要注意的是,这两都是不相等的:
在这里插入图片描述
同时也要考虑是否连坐标系一同旋转。

你可能感兴趣的:(Shader)