视频链接:https://www.bilibili.com/video/av6500834?from=search&seid=3249893627908257126
在二维空间中的向量[3,2],我们可以将其看作向量伸缩再相加的结果,比如把i即[1,0]变长为3倍,把j即[0,1]变长为2倍,再相加。
一个向量本没有坐标,之所以能够把向量转换成一组坐标,或者说能把向量转换成一组有序的数,是因为我们设定了一个坐标系。
发生在向量与一组数之间的任意一种转化,都被称为一组坐标系。之所以上面的向量表示为[3,2],是因为把i伸长为3倍、把j伸长为2倍,再相加的结果。平面中任意其他向量都可以表示为i和j的有向伸缩倍数,此时i和j就被称为坐标系的基向量。
但本节主要介绍的是基变换的概念,假设我们的朋友詹妮弗使用另一组坐标系,即有另一组不同的基向量b1和b2。
那原先在我们的坐标系中[3,2]的向量,使用詹妮弗的坐标系的话,就不再是[3,2]了,而是b1和b2的缩放倍数,即[5/3,1/3]:
同一个向量,使用不同的坐标系,得到的坐标是完全不同的,那么如何在不同的坐标系中进行坐标转换呢?在詹妮佛的坐标系中,她的b1和b2是[1,0]和[0,1]:
但在我们的坐标系中,b1和b2分别是[2,1]和[-1,1]:
假设在詹妮佛的坐标系中,有一个坐标是[-1,2]的向量,那么在我们的空间中,这个向量的坐标是什么呢?
这个向量的坐标是-1 * b1 + 2 * b2,而b1和b2在我们的坐标系中的坐标分别是,[2,1]和[-1,1],因此结果是[-4,1]
上面的过程用矩阵相乘来表示,即:
前面介绍过,一个矩阵其实代表一个线性变换,矩阵[2,-1;1,1]的意思可以理解为,将我们空间中的[1,0]、[0,1],转换到詹妮佛空间中的[1,0]、[0,1],而詹妮佛空间中的[1,0]、[0,1],在我们空间看的话,坐标分别是[2,1]和[-1,1]。
因此将詹妮佛坐标系下一个向量的坐标转换成我们坐标系下的坐标,只需要左乘上这个矩阵即可。
相反的,如果把我们坐标系下的一个向量的坐标,转换成詹妮佛坐标系下对应的坐标,应该是一个相反的过程,因此使用对应矩阵的逆:
因此,想要知道我们空间中[3,2]如何转换在詹妮佛坐标系下的坐标,需要乘上相应的逆矩阵:
最后再总结一下上面的过程,现在有两个坐标系,我们的坐标系和詹妮佛的坐标系,两个坐标系各有一组基向量,从各自的角度看,基向量的坐标都是[1,0]和[0,1],但是在我们的坐标系中,詹妮佛的基向量对应的坐标分别是[2,1]和[-1,1],那么将用詹妮佛的坐标系描述的向量转换为用我们的坐标系描述的相同向量,只需要左乘用我们的坐标系来描述的詹妮佛的基向量矩阵即可:
逆矩阵则相反:
更进一步,考虑一个旋转90度的线性变换,我们的基向量[1,0]和[0,1],变换后的坐标分别是[0,1]和[-1,0]:
那么在詹妮佛空间中如何表示同样的变换呢?是左乘下面的矩阵么?
答案是否定的,上面的矩阵是在追踪我们所选的基向量的变化,也就是说,把我们的坐标系旋转90度得到了另一个坐标系b,坐标系b下的基向量用我们的坐标系表示的话是[0,1]和[-1,0]。
那在詹妮佛坐标系下,一个向量旋转90度后的坐标是什么呢?比如詹妮佛坐标系下的坐标为[-1,2]的向量,首先需要转换到我们的空间中坐标,然后在进行旋转90度的变换,最后在变回到詹妮佛空间中的坐标:
三个矩阵相乘的结果,就是用詹妮佛语言描述的变换矩阵:
因此,每当你看到A-1MA的时候,它其实代表的是一种数学上的转移作用,将我们坐标系中的一个线性变换M,作用到另一个坐标系中!非常神奇!