用四元数在空间中旋转
模为 1 的复数旋转平面。哈密顿希望他的数在空间中也能做到这一点。它们确实能做到,但方式比他最初设想的更微妙。
方法
把空间中的点 $(x, y, z)$ 写成纯四元数 $v = xi + yj + zk$。要绕单位向量 $u = u_1 i + u_2 j + u_3 k$ 给出的轴旋转角 $\theta$,取
$$q = \cos\frac{\theta}{2} + \sin\frac{\theta}{2}\,(u_1 i + u_2 j + u_3 k)$$并计算
$$v \;\longmapsto\; q\,v\,q^{-1}, \qquad q^{-1} = \cos\frac{\theta}{2} - \sin\frac{\theta}{2}\,(u_1 i + u_2 j + u_3 k).$$结果又是一个纯四元数:旋转后的点。选择轴和角度:
有两点值得注意。第一是半角:$q$ 在“三明治” $q v q^{-1}$ 中出现了两次,每一边贡献一半的转角。第二由此而来:当 $\theta = 360°$ 时,物体回到原位,但 $q = \cos 180° = -1$。四元数 $q$ 和 $-q$ 给出同一个旋转。要转两整圈,四元数才会也回到起点。这一性质在一个世纪后的电子自旋中再次出现。
复合就是相乘
先按 $q_1$ 旋转,再按 $q_2$ 旋转,得到 $q_2 (q_1 v q_1^{-1}) q_2^{-1} = (q_2 q_1)\,v\,(q_2 q_1)^{-1}$。复合旋转就是乘积 $q_2 q_1$。由于空间中的旋转不可交换(把一本书绕两个不同的轴各转半圈,按两种顺序做,比较一下),四元数也不可交换就是很自然的了。让哈密顿的同时代人如此不安的缺陷,其实是一种优点。
从阿波罗到手机
旋转也可以用三个角来描述,就像飞机的航向、俯仰和横滚,但这些角有一个缺陷:在某些姿态下,两个轴会对齐,失去一个自由度,这就是所谓的万向节锁。阿波罗 11 号的导航平台有三个万向节,必须避开这种姿态;宇航员迈克尔·柯林斯在无线电里开玩笑说,想要“一个第四万向节当圣诞礼物”。四元数没有这个问题。自从肯·休梅克在 1985 年展示了如何用四元数在两个旋转之间平滑插值,四元数已成为计算机动画、电子游戏、机器人、航天器以及手机方向传感器的标准工具。
练习:绕 k 转四分之一圈
把点 $v = i$(即点 $(1, 0, 0)$)绕 $k$ 轴旋转 $90°$。
$q = \cos 45° + \sin 45°\,k = \frac{1 + k}{\sqrt2}$,$q^{-1} = \frac{1 - k}{\sqrt2}$。于是 $q\,i\,q^{-1} = \frac{(1 + k)\,i\,(1 - k)}{2} = \frac{(i + j)(1 - k)}{2} = \frac{i - ik + j - jk}{2} = \frac{i + j + j - i}{2} = j$。点 $(1, 0, 0)$ 转到了 $(0, 1, 0)$,转了四分之一圈。
练习:两次半圈
绕 $i$ 转半圈($180°$)对应 $q_1 = i$;绕 $j$ 转半圈对应 $q_2 = j$。先绕 $i$、再绕 $j$ 的复合旋转是什么?
$q_2 q_1 = ji = -k = \cos 90° + \sin 90°\,(-k)$:绕 $-k$ 轴转半圈,这与绕 $k$ 轴转半圈是同一个旋转。绕两条互相垂直的轴各转半圈,等于绕第三条轴转半圈。
来源: Olinde Rodrigues, “Des lois géométriques qui régissent les déplacements d’un système solide dans l’espace”, Journal de Mathématiques Pures et Appliquées(1840)· Arthur Cayley, “On certain results relating to quaternions”, Philosophical Magazine(1845)· Simon L. Altmann, Rotations, Quaternions, and Double Groups(1986)· Ken Shoemake, “Animating rotation with quaternion curves”, SIGGRAPH(1985)。
威廉·罗恩·哈密顿的全部主题 · ← 四元数:桥上的公式 · 向量与标量:哈密顿创造的词 →
图片来源.