最近在学SLAM,学到了四元数及其运算,其中有一个性质让我十分不解:四元数有逆运算。
四元数可以写成类似于复数形式:q = n1+ n2*i + n3*j + n4*k ,有一个实轴,三个ijk三个虚轴。
四元数也可以用一个向量表示,即:q = [s, v] ,其中 s=n1为标量,v = [n2, n3, n4]为向量。
所以这么来看的话,四元数充其量应该是一个四维向量才对,向量怎么可能会有逆呢!?
经过思考,我认为要从四元数本身的意义出发来看待“逆”:“逆”就是相反的变换。四元数表示三维空间下两坐标系之间的变换关系,有了这个关系就可以把一个坐标系中的坐标转换到另一个参考系下。从这一方面考虑,四元数的逆,应该指的是坐标变换的反变换所对应的四元数。从公式上来说,四元数的逆应该满足如下形式:
q * q的逆 =1
因为只有这样,才能够满足一个坐标点左乘q,再左乘q的逆,得到与原来相同的坐标点,即经过两次相反的变换,而回到本身:
a = q * q的逆 * a = 1 * a =a