1、四元数
要计算从 a 旋转到 c 的四元数 q2,已知:
- 从 b → a 的旋转四元数是 q0
- 从 b → c 的旋转四元数是 q1
我们目标是求 a → c 的旋转四元数 q2。
1.1、从一个坐标系(或向量)旋转到另一个的变换
若一个向量 v 在坐标系 B 中,想通过四元数 q 旋转到坐标系 A,则通常写作:
bash
vA=qvBq
四元数表示的是从一个坐标系(或向量)旋转到另一个的变换。若一个向量 v 在坐标系 B 中,想通过四元数 q 旋转到坐标系 A,则通常写作:
vA=qvBq−1
但当我们只关心相对旋转(即"从姿态 X 到姿态 Y 的旋转"),可以把每个姿态看作是从世界坐标系(或某个公共参考系) 到该姿态的旋转。
假设所有四元数都是相对于同一个参考系(比如世界坐标系 W) 定义的:
q0:将向量从 b 旋转到 a,即
va=q0vbq0−1
等价于:a 的姿态 = q0⋅b 的姿态
q1:将向量从 b 旋转到 c,即
vc=q1vbq1−1
我们想找到 q2,使得:
vc=q2vaq2−1