联系方式:860122112@qq.com
四元数与旋转——学习笔记(一)
四元数与旋转——学习笔记(二)
四元数与旋转——学习笔记(三)
三、四元数旋转算子
四元数原本是表示四维空间 R4 的,而在对三维空间 R3 的向量 v=(xv,yv,zv) 进行运算时使用的是纯四元数,该四元数的实数部分为0。因此向量 v 的四元数表示为 xvi^+yvj^+zvk^ 或 0<xv,yv,zv> 。
定义单位四元数
q
对向量
(10)
此算子有两个性质:
- 算子
Lq
不改变向量
v
的模长
∥Lq(v)∥===∥qvq∗∥|q|⋅∥v∥⋅|q∗|∥v∥
- 若
v
是沿着
q
的方向,则算子
Lq
不会改变
v
。证明,假设
v=kq
,则:
qvq∗====q(kq)q∗(q20−∥q∥2)kq+2(q⋅kq)q+2q0(q×kq)k(q20+∥q∥2)qkq
根据这两个性质,可以把 Lq 想象成 v 绕着 q 旋转。 Lq 在三维空间 R3 是线性的,即对于给定的任意两个向量 v1,v2∈R3 ,任意两个实数 a1,a2∈R 有:
定理1
对于给定的任意单位四元数
(11)
和任意向量 v∈R3 ,算子
证明:
给定一个向量
v∈R3
,将它分解成
v=a+n
,其中
a
是方向沿着向量
q
的方向的分量,而
n
是与
q
垂直的分量。由前面的性质可知
a
在
Lq
变换下保持不变,而
n
是绕
q
旋转了角度
θ
。因为
Lq
是线性的,实际上可以将
qvq∗
看成是
v
是绕
q
旋转了角度
θ
。
Lq
主要作用在与之垂直的分量
n
上,因此
(12)
其中 u^=q/∥q∥ , n⊥=u^×n , n⊥ 与 n 的模长相等,即
根据定理1(11)给定的任意四元数 q ,有
即结果向量是 n 在 n 和 n⊥ 构成的平面上旋转了 θ ,旋转轴垂直于该平面,如下图所示。
注意旋转了
2π+θ
和旋转了
θ
是一样的,即
L−q=(−q)v(−q)∗=qvq∗=Lq
将(11)带入(10)得到
v
绕轴
u^
旋转
θ
后的向量
(13)
(10)可以重新写成
其中 I3×3 是单位矩阵,且
所以 v 绕 q 旋转的旋转矩阵可以定义为
定理2
对于给定的任意单位四元数
和任意向量 v∈R3 ,算子
或者等价于坐标系不动, v 以 u^ 为轴旋转了 −θ 。
四、四元数旋转算子序列
假设
p
和
因为 p 和