绕空间某一旋转轴 ω⃗ 旋转 θ 角度的表示形式
如下图所示:
O
表示坐标原点,
已知空间中一向量 OR→ ,沿着 ω⃗ 旋转 θ 角度后得到 OR′→ ; (1) 式描述的即为 OR′→ 与 OR→ 、 ω⃗ 、以及 θ 之间的关系,也即著名的 Rodrigues 公式。
四元数简介
四元数由四个元素组成,给定一个标量 q0 和一个矢量 q⃗ =(qx,qy,qz) ,可以将其表示成一个四元数 q=(q0,q⃗ ) ,用复数的记号表示为 q=q0+iqx+jqy+kqz ,这里 i2=j2=k2=−1 , ij=k , jk=i , ki=j ,将两个四元数 q1=(q10,q1→) 与 q2=(q20,q2→) 的乘积展开能够得到如下关系成立
四元数 q=(q0,q⃗ ) 的共轭定义为: q¯=(q0,−q⃗ )
四元数的模定义为: |q|2=q⋅q¯=q2+∣∣q⃗ ∣∣2
四元数长度可分离的特性: ∣∣q⋅q′∣∣2=|q|2∣∣q′∣∣2
用四元数表示对应向量之间的旋转关系
回到上述推导得到的
(1)
式:
现在将变量 OR→ 、 OR′→ 以及 ω⃗ 重新用四元数表示:
根据四元数乘法的定义,它们之间的关系可以推导为
将上述等式按照四元数乘法定义展开,即能够得到 (1) 式。
利用四元数求解旋转矩阵
di′=(0,di′→)
,
di=(0,di→)
,为两组数据中的对应点,两组数据仅存在旋转,则存在关系:
若要求得空间中两组对应点之间的旋转四元数,则建立以下目标优化函数:
把 q 代入上式,则有:
其中 (di′→+di→)×q⃗ 可以写成反对称矩阵的形式: q⃗ ⋅Di→ , Di→ 为对应于 (di′→+di→) 的反对称矩阵的转置。
令
Oi=q4→⋅Ai
,其中
q4→
是四元数
q
转化成的四维向量;而
注意到 Ai 仅与采集到的数据有关; (2) 式可写为
q4→ 与 i 无关,所以上式变为:
其中,
此时 E2 最小化问题就是典型的一次函数最小化问题,其最小解即为对应于 B 的最小特征值对应的特征向量;得到