开门见山:把旋转四元数写成
\[q=\cos\alpha+\mathbf u\,\sin\alpha\quad(\|\mathbf u\|=1,\ \mathbf u\text{为轴的纯虚四元数})
\]
并用标准夹逼 \(v' = q\,v\,q^{-1}\),则实际对 \(v\) 的旋转角是 \(2\alpha\)。所以要想得到旋转 \(\theta\),必须取 \(\alpha=\tfrac{\theta}{2}\)。
下面把“为什么会变成 \(2\alpha\)”推导清清楚楚。
1) 预备知识(纯虚四元数乘法恒等式)
把三维向量当作纯虚四元数(实部为 0)。对任意纯虚四元数 \(\mathbf a,\mathbf b\) 有
\[\mathbf a\,\mathbf b = -\,\mathbf a\cdot \mathbf b \;+\; \mathbf a\times \mathbf b.
\]
特别地,若 \(\mathbf u\) 为单位向量且 \(\mathbf v_\perp\perp \mathbf u\),则
\[\mathbf u\,\mathbf v_\perp = \mathbf u\times \mathbf v_\perp,\qquad
\mathbf v_\perp\,\mathbf u = -\,\mathbf u\times \mathbf v_\perp.
\]
把任意 \(\mathbf v\) 分解为轴向与垂直分量:
\[\mathbf v=\mathbf v_{\parallel}+\mathbf v_{\perp},\qquad
\mathbf v_{\parallel}=(\mathbf u\cdot \mathbf v)\,\mathbf u,\quad
\mathbf u\cdot \mathbf v_{\perp}=0.
\]
2) 展开 \(q v q^{-1}\)
设 \(c=\cos\alpha,\ s=\sin\alpha\)。因 \(q^{-1}=c-\mathbf u s\),有
\[q\,\mathbf v\,q^{-1}
=(c+\mathbf u s)\,\mathbf v\,(c-\mathbf u s)
= c^2\mathbf v + cs(\mathbf u\mathbf v-\mathbf v\mathbf u) - s^2\,\mathbf u\mathbf v\mathbf u.
\]
对平行与垂直分量分别计算。
3) 作用在平行分量 \(\mathbf v_{\parallel}=\lambda \mathbf u\)
\[\mathbf u\,\mathbf v_{\parallel} = \mathbf u(\lambda \mathbf u)=\lambda\,\mathbf u^2=-\lambda
\ \ (\text{纯标量}),\quad
\mathbf v_{\parallel}\mathbf u = -\lambda,
\]
故 \(\mathbf u\mathbf v_{\parallel}-\mathbf v_{\parallel}\mathbf u=0\);
并且
\[\mathbf u\,\mathbf v_{\parallel}\,\mathbf u
=\mathbf u(\lambda \mathbf u)\mathbf u
=\lambda\,(\mathbf u^2)\mathbf u
=-\lambda\,\mathbf u
=-\mathbf v_{\parallel}.
\]
代回:
\[q\,\mathbf v_{\parallel}\,q^{-1}
=c^2\mathbf v_{\parallel} - s^2(-\mathbf v_{\parallel})
=(c^2+s^2)\mathbf v_{\parallel}
=\mathbf v_{\parallel}.
\]
——轴向不变(这与几何直觉一致)。
4) 作用在垂直分量 \(\mathbf v_{\perp}\perp\mathbf u\)
首先有
\[\mathbf u\mathbf v_{\perp}-\mathbf v_{\perp}\mathbf u
=(\mathbf u\times\mathbf v_{\perp})-(-\mathbf u\times\mathbf v_{\perp})
=2\,\mathbf u\times\mathbf v_{\perp}.
\]
再算三重积 \(\mathbf u\mathbf v_{\perp}\mathbf u\):
\[\mathbf u\mathbf v_{\perp}=\mathbf u\times\mathbf v_{\perp}=: \mathbf w
\ \Rightarrow\
\mathbf u\mathbf v_{\perp}\mathbf u=\mathbf w\,\mathbf u
= -\,\mathbf w\cdot\mathbf u + \mathbf w\times\mathbf u.
\]
而 \(\mathbf w=\mathbf u\times\mathbf v_{\perp}\perp \mathbf u\),故 \(\mathbf w\cdot\mathbf u=0\),
并用向量三重积恒等式 \((\mathbf a\times\mathbf b)\times\mathbf c=\mathbf b(\mathbf a\cdot\mathbf c)-\mathbf a(\mathbf b\cdot\mathbf c)\):
\[\mathbf w\times\mathbf u
=(\mathbf u\times\mathbf v_{\perp})\times\mathbf u
=\mathbf v_{\perp}(\mathbf u\cdot\mathbf u)-\mathbf u(\mathbf v_{\perp}\cdot\mathbf u)
=\mathbf v_{\perp}.
\]
于是 \(\mathbf u\mathbf v_{\perp}\mathbf u=\mathbf v_{\perp}\)。
代回主式:
\[q\,\mathbf v_{\perp}\,q^{-1}
= c^2\mathbf v_{\perp} + cs\cdot 2(\mathbf u\times\mathbf v_{\perp}) - s^2\mathbf v_{\perp}
=(c^2-s^2)\mathbf v_{\perp} + 2cs\,(\mathbf u\times\mathbf v_{\perp}).
\]
识别到倍角公式:
\[c^2-s^2=\cos 2\alpha,\qquad 2cs=\sin 2\alpha,
\]
故
\[q\,\mathbf v_{\perp}\,q^{-1}
= \cos(2\alpha)\,\mathbf v_{\perp} + \sin(2\alpha)\,(\mathbf u\times\mathbf v_{\perp}).
\]
5) 合并(得到罗德里格斯公式)
\[\boxed{\;
q\,\mathbf v\,q^{-1}
= \mathbf v_{\parallel}
+ \cos(2\alpha)\,\mathbf v_{\perp}
+ \sin(2\alpha)\,(\mathbf u\times\mathbf v_{\perp})
\;}
\]
这正是绕 \(\mathbf u\) 旋转角 \(2\alpha\) 的罗德里格斯形式。于是要得到目标角 \(\theta\),取
\[\alpha=\frac{\theta}{2}\quad\Rightarrow\quad
q=\cos\frac{\theta}{2}+\mathbf u\,\sin\frac{\theta}{2}.
\]
举一反三
- 若误把 \(q\) 写成 \(\cos\theta+\mathbf u\sin\theta\),则 \(q v q^{-1}\) 会把 \(\mathbf v_{\perp}\) 旋转 \(2\theta\),轴向不变——角度翻倍。
- 这也解释了 SU(2) 双覆盖 SO(3):\(q\) 与 \(-q\) 表示同一旋转,因为它们对应的 \(\alpha\) 相差 \(\pi\),而 \(2\alpha\) 相差 \(2\pi\) 表示同一空间旋转。