先来了解一下四元数的基本概念。
一、复数的概念
高中数学中有说到复数的概念,什么是复数呢?
百度百科奉上:https://baike.baidu.com/item/%E5%A4%8D%E6%95%B0/254365?fr=aladdin
基本上你只需要了解,复数这玩意儿长这样:
z = a + bi
a,b是实数,i2 = -1,a 是复数 z 的实部,bi 是复数 z 的虚部。
二、四元数是什么
四元数是一种高阶复数,他长这样:
q = (x,y,z,w) = xi + yj + zk +w;
其中:
i2 = j2 = k2 = −1;
ijk = -1;
我们可以对上述所提到的四元数q作如下改写:
q = ((x,y,z),w) = (v⃗ + w);
这样一来,四元数可以看做是一个三维向量 v⃗ 和齐次坐标系下的 w 分量;
三、四元数运算
假定两个四元数 q1、q2:
* 四元数乘法
q1q2 = (v1 × v2 + w1v2 + w2v1 , w1w2 − v1⋅v2)* 共轭四元数(三维向量方向取反)
q∗ = (−v ,w)* 四元数的平方模(三维向量的模 + w分量的平方)
N(q) = N(v⃗ ) + w2* 四元数的逆(共轭四元数除以模)
q−1 = q∗ / N(q) 四、四元数实现旋转