前一段又从新看了一下“理解矩阵”,里面说 矩阵的本质是描述运动,通过这点对矩阵的了解有了更透彻的认识,但是 为什么矩阵可以用来描述运动呢?
春节前夕看了本书《3D Math Primer for Graphics and Game Development》,书中的一些话语解释了这个问题。
首先要阐明一些必要前提:
1.向量: 众所周之,向量能描述事物间的位移和相对差异,所以他能够用来描述相对位置。
2.这本书里是右乘行向量,而非左乘列向量,其实原理是一样的。
3.向量是标量数组,而矩阵则是向量的数组。
4.如果把矩阵的行(前提2)解释为坐标系的基向量,那么乘以该矩阵就相当于执行了一次坐标变换。
5.将向量表示为位移序列,即平行于坐标轴的分量,把这些分量组合起来,就得到了向量作为整体代表的位移,而且唯一组合的顺序无关紧要。
下面是一个2D实例
M=,从矩阵抽取p=[2 1],q=[-1 2],接下来以原基向量(x,y轴)作参考,我们可以看到:
从上图我们我们可到运动变换的过程,矩阵M 就是描述用来这个运动,即从x,y到 p,q。
现在如果我们将矩阵的行解释为坐标系的基向量,就可以理解为什么矩阵能描述运动。也就是:因为向量可以用来描述相对位置,所以矩阵可以描述起始位置不同(包含方向),但其变化过程相同的变换(前提5),即描述了一个运动过程。