四元数与旋转矩阵

                     

贡献者: addis; JierPeter

预备知识 旋转矩阵的导数,四元数,罗德里格旋转公式、绕轴旋转矩阵

   四元数可以用来简洁地表示三维空间中的旋转,极大地减少了计算量。所有模长为 1 的四元数 q 与所有可能的(绕原点的)三维旋转存在一一对应关系。

   三维空间中的一个向量表示为标部为 0 的四元数:(0,v),简记为 v。如果我们绕着一个单位向量 n^v 旋转一个角度 θ,所得的结果应该是哪个向量呢?任意模长为 1 的四元数都可以表示为

(1)q=(cosθ2, n^sinθ2) .
那么旋转后的向量 v 就可以表示为
(2)v=qvq1=qvq~ .
其中 q1 表示 q 的逆,q~ 表示 q 的共轭(定义 2 ),满足 qq1=q1q=(1,0,0,0),易证
(3)q1=q~=(cosθ2, n^sinθ2)=(cosθ2, n^sinθ2) ,
表示绕 n^ 旋转 θ

   例如当 θ=0 时,q=(1,0,0,0) 是单位元,qvq1=v。又例如取 v=(0,1,0,0),它代表一个 x 轴上的单位向量。如果想要把它绕着 z 轴上的单位向量转 π/2,那么结果向量的四元数表示应该是 (0,0,1,0)。按照我们定义的规则,旋转表示为四元数 q=(2/2,0,0,2/2)q1=q~=(2/2,0,0,2/2),按照四元数的乘法规则易得 qvq1=(0,0,1,0)

证明

   直接计算式 2 得(使用连续叉乘的化简以及三角降幂公式):

(4)qvq1=(cosθ2,n^sinθ2)(0,v)q1=(vn^sinθ2,vcosθ2+n^×vsinθ2)(cosθ2,n^sinθ2)=(0, cosθ v+(1cosθ)n^(n^v)+sinθ n^×v) ,
这正是直接使用罗德里格旋转公式(式 1 )使 vn^ 旋转 θ 的结果。

   一点补充:考虑到四元数限定向量方向时退化为复数(见四元数的讨论),故 vn^ 的情况其实可以直接套用复数的交换性来得到,即 qvq1=qq1v=v

   再来证明 q 和三维旋转的一一对应关系:若 q1,q2 表示同一个旋转,那么对任意 v 都有

(5)q1vq~1=q2vq~2 .
也就是对任意 v 都有
(6)v=(q~1q2)v(q~1q2)~ ,
所以必定有 q~1q2=1,即 q2=q~11=q1。证毕。

1. 旋转的复合

   四元数的乘法运算(式 3 )可以把两次旋转合并为一次旋转。注意 q2q1 表示先做 q1 的旋转,再做 q2 的旋转。另外易证 (q2q1)1=q11q21=q~1q~2

   由于一般来说四元数乘法不满足交换律,所以两次旋转也一般不能交换,除非两次转动的转轴(两四元数的矢部)共线。

   证明:令 v 经过 q1 旋转变为 v,再经过 q2 旋转变为 v,则

(7)v=q2vq21=q2(q1vq11)q21=(q2q1)v(q11q21)=(q2q1)v(q2q1)1 ,
证毕。

2. 旋转矩阵

   令四元数 q=(s,v) 表示绕 v^ 方向以右手定则旋转 θ 的矩阵,其中

(8)s=cosθ2 ,|v|=sinθ2 .
则对应的三维旋转矩阵(式 3 )可以表示为
(9)R=(12vy22vz22vxvy2svz2vxvz+2svy2vxvy+2svz12vx22vz22vyvz2svx2vxvz2svy2vyvz+2svx12vx22vy2) .
特殊地,θ=0 时,四元数为 (1,0,0,0),对应单位矩阵,无任何旋转。另外由上一节的分析可知,若 qi 的旋转矩阵为 Ri,那么 q1q2 对应的旋转矩阵就是 R1R2

3. 时间导数

   若从坐标系 B 到坐标系 A 的基底变换矩阵为 R,当 B 相对于 A 绕原点以角速度 ω 旋转时有(式 2

(10)R˙=ΩR .
其中 Ω 乘以任意位置矢量 r 等于 ω×r
(11)Ω=(0ωzωyωz0ωxωyωx0) .
若旋转矩阵 R 对应的四元数为 q(t),则
(12)q˙=12(0,ω)q ,
这里的 q˙ 表示对四个标量中的每个分别求导。

   推导:把 q(t+Δt) 分解为 q(t)q1(Δt) 两次旋转,

(13)q˙=limΔt0q(t+Δt)q(t)Δt=limΔt0q1(Δt)(1,0,0,0)Δtq(t) .
其中 q1(t) 相当于以瞬时角速度 ω 旋转时间 t
(14)q1(t)=(cosωt2,  ω^sinωt2) .
注意 q1(0)=(1,0,0,0),所以式 13 中的极限就是
(15)limt0q1(t)q1(0)Δt=q˙1(0)=12(0,ω) .
代入式 13 式 12

                     

© 小时科技 保留一切权利