第四章:矩阵简介
矩阵在3D数学中具有根本意义上的重要性,它们通过定义将矢量从一个坐标空间转换为另一个坐标空间。
1. 矩阵的数学定义
对于具有r行和c列的矩阵,称为 \(r \times c\) 矩阵,当希望引用矩阵中的各个元素时,将使用下标表示法。以 \(3\times3\) 矩阵为例:
像上述那样,有相同行数和列数的矩阵称为方形矩阵,这也是我们特别关注的。
如果方阵的非对角元素都为0,则该矩阵为对角矩阵。
再特殊一点,如果对角矩阵的对角元素恰好都为1,那这个矩阵就是单位矩阵。
矢量也可以被视为矩阵,但有两种不同的书写方式:行矢量和列矢量。
还可以将矩阵以对角的方式进行“翻转”,我们称翻转后的矩阵是原来矩阵\(M\)的转置,用符号\(M^T\)表示。
矩阵可以与标量相乘,过程和矢量与标量相乘类似(毕竟矢量也算是矩阵):
矩阵与矩阵也可以相乘,但这个规则有些许奇怪,刚接触线性代数的同学可能也记不大清楚,不过这本书的作者给了个好记的办法。不过,首先应当知道,不是所有矩阵都能相乘,必须要保证相乘时前者的列数与后者的行数相同,直接上图:
而它的运算过程,相当于把前者当成一组行矢量,后者当作一组列矢量,再逐个相乘。具体是这样的(挺直观、好记的:
要注意以下几点(实际上它们背后都是几何常识,当你了解了矩阵的几何含义后再回头思考这些,你会发现这些都理所当然):
- 一个矩阵 \(M\) 乘上单位矩阵 \(I\) 结果不变,仍为 \(M\);
- 矩阵乘法不可交换:\(AB\not=BA\);
- 矩阵乘法可结合:\((AB)C=A(BC)\);
- 转置两个矩阵的乘积与以相反顺序取得其转置的乘积结果相同:\((AB)^T=B^TA^T\)。
矩阵还可以与矢量相乘,但这时,矢量是行矢量还是列矢量就会影响计算的结果。
可以看到,计算形式正确的情况下,使用列矢量计算,得到的结果就是列矢量,并且可以被解释为矩阵的列的线性组合,其中的系数来自矢量的操作数;行矢量同理。
2.矩阵的几何解释
一般来说,方形矩阵可以描述任何线性变换(具体定义下一章讨论),它包括:旋转、比例缩放、正交投影、反射、错切。下一章,我们将推导出执行这些操作的矩阵,但现在,我们要先大致理解矩阵是怎么与坐标空间变换扯上关系的。
先来看一个简单特殊的情况,用一组标准基矢量与矩阵相乘:
那再让情况更“一般”些,我们之前学过,任何矢量都可以写成标准基矢量的线性组合,因此,对于一般的矢量与矩阵相乘:
也可以写成:
桥豆麻袋!不是说好了几何解释吗?怎么尽是些算式呢?!
咳咳!其实矩阵的几何解释很直接,就是线性变换,这似乎有点废话,但这的确是上述公式所表达的意思。比如,我让一个二维标准基矢量乘上矩阵\(\begin{bmatrix}
2&1\\
-1&2\\
\end{bmatrix}\)会得到什么呢?这次我们直接在图上标出计算结果\(\vec{q}\)、\(\vec{p}\):
不明白?那换个样子看看:
现在总该明白了吧,当矢量乘上矩阵后,似乎就发生了旋转和拉伸。事实上的确如此,但也不仅如此,矩阵还能表示其他的一些变换,下一章我们将进一步认识到这一点。
那现在我们可以下结论了,矩阵就是变换过程本身。这并不意外,毕竟我们小学时也学过用1个数字代表角度的旋转不是吗?矩阵这么多数字,总该表示更复杂(其实也不复杂)的变换吧。
最后墙裂推荐一个视频捏(连我这种数学菜鸡都看得很舒服,如果跳转有问题,试试复制链接再粘贴