矩阵与线性变换:从基础概念到实际应用
矩阵与线性变换:从基础概念到实际应用
矩阵不仅是数学中的一个基本概念,更是线性代数的核心工具。本文将带你深入理解矩阵与线性变换的关系,从基础概念到实际应用,全面解析这一重要数学工具。
矩阵与线性变换
矩阵与线性变换是线性代数中的核心概念。矩阵变换可以看作是对空间的一种变换,每个向量通过矩阵乘法得到新的向量。这种变换具有重要的几何意义和实际应用价值。
矩阵变换
考虑一个矩阵乘法,可以将其视为对空间的一种变换。对于向量空间中的每个向量,通过计算得到新的向量,其中是矩阵。这种矩阵变换记为。显然,的值域是的列向量的所有线性组合的集合。
- 线性无关:一组向量中的任何一个向量都很“独立”,不能用这组向量中除他之外的任何其他向量的任何线性组合来表示。
- 线性相关:一组向量中只有部分向量是“独立”的,他们代表了整个向量组的维度(秩),因为组内的任何其他向量都可以由这些独立的向量的某种线性组合来表示。
- 线性组合:如果向量可以表示为一组向量的系数乘和,即,则称向量是向量组的一个线性组合。
线性变换
线性变换是线性代数中最重要的一类变换。定义如下:
变换(或映射)称为线性变换的,若:
- 对定义域内的一切,。
- 对定义域内的一切; 和任何标量c,cc。
可以证明,每一个矩阵变换都是线性变换,反之则不成立。
意义
理解矩阵变换是线性变换有什么好处呢?能够简化向量转换的计算过程吗?能够方便我们理解向量变换吗?
看下面的例子:
二维向量空间的单位正交基可以用单位矩阵表示,设是一个的矩阵变换,有:
,
求中的任意一个向量被变换后的向量。
解:
二维向量空间中的任何一个向量都是基向量的某个线性组合:
因为我们知道矩阵变换是线性变换,由线性变换我们可以得出:
。
已知,所以结果就很容易得出了。
可以看到,对任何向量进行线性变换的结果向量,是一个对基向量组进行线性变换之后的新向量组的一个线性组合,系数没变。看下面的图示,一目了然:
上图是某个线性变换之前,黄色向量与绿色基向量和红色基向量之间的关系。可以看到,线性变换之后,平行关系保持,原点位置不变。正如前面所说,变换之后,新的向量是变换之后的新的基向量的线性组合,组合系数没有改变。这个性质给了我们能力:只需要知道两个基向量(向量和向量)转换之后的结果,而不用知道转换本身,我们就能推导出二维空间中所有向量转换之后的结果。
向量旋转变换
OpenGL中经常会使用的平移矩阵、缩放矩阵以及旋转矩阵。其实前两种矩阵很好理解,引入齐次坐标系非常直观地就能写出一个平移矩阵(当然平移变换不是线性变换),对单位矩阵的对角线上的值进行设置就能非常直观地表示沿着对应坐标轴的缩放。然而,沿着某个坐标轴旋转的旋转矩阵却不怎么直观,不像前两种矩阵这么好理解。不过,有了矩阵变换是一个线性变换的知识,我们其实可以比较直观的表示一个沿坐标轴旋转的旋转矩阵。
对于不是沿坐标轴旋转的变换,都可以通过坐标系变换,转换成沿“坐标轴旋转”。旋转之后,再变换回原坐标系。
从上面的例子,我们得出结论:
只要知道矩阵变换作用于基向量组的结果,我们就能用一个矩阵来表示这个矩阵变换。
设是一个将三维向量沿轴顺时针旋转度的变换,求这个变换矩阵。
所以,,对基向量进行变换,很直观的就能得到这个旋转矩阵:
齐次坐标形式为:
同理可以很容易的推出沿其他轴旋转的旋转矩阵。
拓展
“Mathematics is the art of giving the same name to different things.” -Henri Poincare
我们说一个三维空间中的点的坐标是,意味着,向量,其中,是当前坐标系的基向量。如果,那么,坐标是是点在标准世界坐标系中的一个坐标。
实际上,不一定非得是前面所说的标准单位正交基,三维空间中的基向量组可以由任何不共线且不共面的(线性无关)三个向量组成,这样任意的组成的坐标系和标准世界坐标系共原点,不同的地方就是坐标轴的夹角(方向)和单位长度发生了改变。
对于这样推广之后的坐标系统,前面提到的性质保持,即:
只要知道矩阵变换作用于基向量组的结果,我们就能用一个矩阵来表示这个矩阵变换。
直观上说,矩阵变换会切换坐标系,但是不会改变坐标。矩阵变换的结果是一个位于标准世界坐标系中的向量,或者点。明白这点很重要,尤其在坐标系变换中:
当然,如果你明白我的意思:坐标是相对于坐标系的。
例如,原来的坐标系的基向量组是,点在中的坐标为,或者,为坐标原点,你可以说向量。的基向量经过线性变换之后变成了,那么点转换之后的点在以为基向量组的坐标系中的坐标仍然是,或者,你可以说向量。
进一步地,我们可以认为,连续作用地线性变换的组合的效果就是:
坐标系数不变,连续地切换坐标系。我特意强调“坐标系数不变”是因为:
相对于标准世界坐标系,这些变化确实在不断地改变一个点的坐标。但是,相对于变换过程中的的各个坐标系,如果坐标点在变换之前的坐标系中的坐标是,那么,在变换之后的坐标系中,该点的坐标仍然是。
所以,这里的重点是:
说到一个点的坐标时,永远伴随着一个特定的坐标系。
总结
所以下次你看到一个矩阵时,当然不包括齐次坐标系下的平移矩阵,你可以把它看成一个线程变换。的每一列都是一个标准单位正交基向量经过变换之后的结果,任何一个向量,经过变换之后的结果为。
参考资料
- Transformations
- YouTube-Linear transformations and matrices
- YouTube-Change of basis