第五章:矩阵和线性变换
本章将讨论矩阵实现线性变换以及变换的一般性原则。
其实个人更看重这些变换与矩阵几何意义的联系(这也是这本书作者的目的),但本章节还有大量的推导,个人并不喜欢记录这些,可不记录这些,这章就没什么内容了,但记的话又相当于纯抄书了。
所以,我还是……记一些结论。而我们始终要记住上一章得到的结论,这些变换矩阵都是标准基矢量所组成的矩阵变换后得到的基矢量矩阵。而且我们只需关注基矢量就可以了,毕竟还是那句:任意矢量都是基矢量的线性组合,知道了变换后的基矢量,就相当于知道了变换后的所有矢量。
1. 旋转
为了更好说明上面粗字部分,就用个二维旋转矩阵说明一下。
我们再看看这个变换的图像:
可以看到,它就是基矢量 \(\vec{p}\) 和 \(\vec{q}\) 绕原点旋转\(\theta\)角后的到的新基矢量组成的矩阵。
意识到这点后,我们再看看三维的:
我想这个推导过程并不困难,只是让一个轴不动,其他的进行与二维时类似的旋转。下面是绕任意矢量旋转的变换矩阵(计算过程很多,就不记录了
2.缩放
沿主轴缩放可以通过给指定轴乘上标量作为缩放因子来实现:
任意方向上的缩放:
3.投影
投影是个降维的过程,我们也可以把它看作沿某方向缩放至0(对比它和缩放的矩阵也可以发现哦)
再看看任意线或平面的投影:
4.反射
反射也称镜像,是绕某直线或平面“翻转”对象的变换,也可以把它看作是缩放了-1。
执行反射的矩阵是:
5.错切
错切,也称倾斜变形,是一种“倾斜”坐标空间的变形,但它并不会改变面积和体积。
上图的变换矩阵,应该很容易想到:\(H_x(s)=\begin{bmatrix}
1&0\\
s&1
\end{bmatrix}\)。它只是单纯让y轴的基向量往歪偏了点,同理,我们可以得出三维中的错切:
6.组合变换
上述这些的变换都可以由矩阵表示,变换就是与变换矩阵相乘,那多个变换矩阵相乘的结果其实就是组合变换矩阵(复合矩阵)。
但说到这,你或许会有疑问:为什么与矩阵相乘就是“进行了变换”?如果你没有这个疑问,那说明你对矩阵的几何解释的理解已经七七八八了。如果你仍有疑惑,可以再看看这个视频(甚至可以是整个线性系列的视频,博客园有时点击跳转会失败,可以右键复制链接自行粘贴传送哦)
7.变换的分类
-
线性变换:大致可以理解为变换后平行线保持平行的变换(几乎正确的表述)。可以通过矩阵乘法实现的任何变换都是线性变换(也就是本章提到的这些),不包括平移。
-
仿射变换:线性变换+平移就是仿射变换,形如\(v'=vM+b\)。
-
可逆变换:可以理解为能够“撤销”的变换,除了投影之外的变换都是可逆的。
-
保持角度的变换:意如其名,变换后角度的大小或方向不变的变换,包括平移、旋转和均匀缩放。
-
正交变换:变换后的长度、角度、面积和体积均保留(符号可能不一样)的变换,包括平移、旋转和反射。
-
刚体变换:改变对象的位置和方向但不改变形状的变换(就是正交变换的基础上更严格一些),平移和旋转都是刚体变换,但反射不被认为是严格的刚体变换。