第四章:矩阵简介

第四章:矩阵简介

矩阵在3D数学中具有根本意义上的重要性,它们通过定义将矢量从一个坐标空间转换为另一个坐标空间。

1. 矩阵的数学定义

对于具有r行和c列的矩阵,称为 \(r \times c\) 矩阵,当希望引用矩阵中的各个元素时,将使用下标表示法。以 \(3\times3\) 矩阵为例:
img
像上述那样,有相同行数和列数的矩阵称为方形矩阵,这也是我们特别关注的。
如果方阵的非对角元素都为0,则该矩阵为对角矩阵
img
再特殊一点,如果对角矩阵的对角元素恰好都为1,那这个矩阵就是单位矩阵
img
矢量也可以被视为矩阵,但有两种不同的书写方式:行矢量和列矢量。
img
还可以将矩阵以对角的方式进行“翻转”,我们称翻转后的矩阵是原来矩阵\(M\)转置,用符号\(M^T\)表示。
img
矩阵可以与标量相乘,过程和矢量与标量相乘类似(毕竟矢量也算是矩阵):
img
矩阵与矩阵也可以相乘,但这个规则有些许奇怪,刚接触线性代数的同学可能也记不大清楚,不过这本书的作者给了个好记的办法。不过,首先应当知道,不是所有矩阵都能相乘,必须要保证相乘时前者的列数与后者的行数相同,直接上图:
img
而它的运算过程,相当于把前者当成一组行矢量,后者当作一组列矢量,再逐个相乘。具体是这样的(挺直观、好记的
img
要注意以下几点(实际上它们背后都是几何常识,当你了解了矩阵的几何含义后再回头思考这些,你会发现这些都理所当然):

  1. 一个矩阵 \(M\) 乘上单位矩阵 \(I\) 结果不变,仍为 \(M\)
  2. 矩阵乘法不可交换:\(AB\not=BA\)
  3. 矩阵乘法可结合:\((AB)C=A(BC)\)
  4. 转置两个矩阵的乘积与以相反顺序取得其转置的乘积结果相同:\((AB)^T=B^TA^T\)
    矩阵还可以与矢量相乘,但这时,矢量是行矢量还是列矢量就会影响计算的结果。
    img
    可以看到,计算形式正确的情况下,使用列矢量计算,得到的结果就是列矢量,并且可以被解释为矩阵的列的线性组合,其中的系数来自矢量的操作数;行矢量同理。

2.矩阵的几何解释

一般来说,方形矩阵可以描述任何线性变换(具体定义下一章讨论),它包括:旋转、比例缩放、正交投影、反射、错切。下一章,我们将推导出执行这些操作的矩阵,但现在,我们要先大致理解矩阵是怎么与坐标空间变换扯上关系的。

先来看一个简单特殊的情况,用一组标准基矢量与矩阵相乘:
img
那再让情况更“一般”些,我们之前学过,任何矢量都可以写成标准基矢量的线性组合,因此,对于一般的矢量与矩阵相乘:
img
也可以写成:
img

桥豆麻袋!不是说好了几何解释吗?怎么尽是些算式呢?!
咳咳!其实矩阵的几何解释很直接,就是线性变换,这似乎有点废话,但这的确是上述公式所表达的意思。比如,我让一个二维标准基矢量乘上矩阵\(\begin{bmatrix} 2&1\\ -1&2\\ \end{bmatrix}\)会得到什么呢?这次我们直接在图上标出计算结果\(\vec{q}\)\(\vec{p}\)
img
不明白?那换个样子看看:
img
现在总该明白了吧,当矢量乘上矩阵后,似乎就发生了旋转和拉伸。事实上的确如此,但也不仅如此,矩阵还能表示其他的一些变换,下一章我们将进一步认识到这一点。
那现在我们可以下结论了,矩阵就是变换过程本身。这并不意外,毕竟我们小学时也学过用1个数字代表角度的旋转不是吗?矩阵这么多数字,总该表示更复杂(其实也不复杂)的变换吧。

最后墙裂推荐一个视频捏(连我这种数学菜鸡都看得很舒服,如果跳转有问题,试试复制链接再粘贴

3. 坐标变换

现在还有最后一个问题,我们知道了矩阵可以表示线性变换,那它和坐标转换之间有什么关系呢?
也许你已经知道答案了,我们从一个坐标系转换为另一个坐标系的过程,不就像是把整个原始坐标进行一系列变换后得到目标矩阵的过程吗?就像下面这个将世界坐标转换为相机坐标一样:
img
但这也不对啊,平移不是不能算线性变换吗?这里就剧透一下吧,其实通过对矩阵进行升维,可以让矩阵也能表达平移!这样矩阵就可以表达我们想要的所有变换了。
什么?你说这只是变换了一组基矢量而已,但你是否记得任何向量都可以用一组基向量来表达。这么说来,我们一旦得知了变换后的基矢量,那不也能通过这个基矢量来计算出物体变换后的坐标吗?

posted @ 2023-10-22 14:56  狐王驾虎  阅读(27)  评论(0编辑  收藏  举报