考虑一个变换: 逆时针旋转 90°, 再剪切一个单位, 变换后的
,
的矩阵是
, 但是很明显, 我们实际上进行了两个动作, 我们通过直观上的观察得出的是最后的整体效应.
那么, 现在让我们来分别考虑两个过程, 再重新进行上述的变换.
1.
– 逆时针旋转 90°
2.
– 剪切一个单位
那么对于任意的一组
, 下面这个等式都应该成立 !
看我们得到了什么! 把这个式子定义成矩阵乘法是相当合理的.
还记得我们之前说的么? 所谓 “变换”, 是为了让我们用运动去思考.
矩阵乘法并不是课本上的一个枯燥的公式, 矩阵乘法表示的意义是几个变换的相继作用.
另外, 你有没有注意到我们的公式是从右向左读的? 先发生的变换反而在公式的左边. 这是为什么呢?
这又要说回之前提到的: “变换” 其实就是一个 “函数”. 这个复合函数 是不是更眼熟一些~ 我们把变换写在左边的原因就是我们会把函数写在变量的左边, 于是我们的乘法公式就变成了从右向左读.
注意这是在我们使用列向量来讨论时的情况, 当使用行向量的时候由于矩阵乘法需要保持矩阵內维相等, 阅读顺序会变成从左向右.
接下来我们来推广矩阵乘法的定义.
用变换来思考
经过第一次变换变成了
, 再经过第二次变换
对
做同样的处理, 我们最终就得到了
看~ 这不就是矩阵乘法的公式.
用连续的变化来思考矩阵的乘法, 会帮助我们更直观的理解矩阵的性质.
比如结合律:
. 如果用公式推导的方式来证明这个定律, 你可能需要写非常长的一个矩阵等式, 当矩阵维度增加时计算量更是爆炸式的增长. 但是如果你站在变化的角度来看, 不管怎么结合, 施加变换的顺序都是
. 看! 这个定律就是这样显而易见, 根本就不需要证明嘛!
那么交换律又为什么无法被矩阵乘法满足呢?
假设
是旋转,
是剪切, 那么
,
都表示了什么变换呢?
可见
最终使
,
靠近,
最终使
,
远离.