1543 字
8 分钟

四元数:三维旋转的优雅数学

四元数:三维旋转的优雅数学#

引言:思维的飞跃#

1843年10月16日,威廉·哈密顿顿悟的时刻诞生了数学史上一个重要概念。他在散步时意识到,要描述三维空间的旋转,需要超越复数的数学工具。于是在都柏林布鲁姆桥的石头上,他刻下了那个著名的等式:

i² = j² = k² = ijk = -1

这个看似简洁的定义,开启了一个处理三维旋转的强大数学体系。

四元数的数学本质#

基本定义#

四元数是一种超复数,可表示为:

q = w + xi + yj + zk = (w, v)

其中:

  • w ∈ ℝ 是标量部分(实部)
  • v = (x, y, z) ∈ ℝ³ 是向量部分(虚部)
  • i, j, k 是满足特定代数关系的虚数单位

乘法规则#

四元数乘法的核心在于基本单位元之间的非交换关系:

i² = j² = k² = -1 ij = k, ji = -k jk = i, kj = -i ki = j, ik = -j

这一关系可简洁地记忆为:i → j → k → i 的循环顺序乘积为正,反向为负。

代数形式#

两个四元数 p = (w₁, v₁)q = (w₂, v₂) 的乘积为:

pq = (w₁w₂ - v₁·v₂, w₁v₂ + w₂v₁ + v₁×v₂)

其中:

  • · 表示向量的点积
  • × 表示向量的叉积

这一公式揭示了四元数乘法如何将点积和叉积自然地统一起来。

四元数与三维旋转#

单位四元数#

三维旋转由单位四元数表示,满足:

|q| = √(w² + x² + y² + z²) = 1

所有单位四元数构成三维球面 S³。

旋转表示定理#

绕单位轴 u = (uₓ, uᵧ, u_z) 旋转角度 θ 的四元数为:

q = cos(θ/2) + sin(θ/2)(uₓi + uᵧj + u_zk) = (cos(θ/2), sin(θ/2)u)

旋转运算公式#

向量 v ∈ ℝ³ 绕轴 u 旋转角度 θ 后的结果 v’ 可通过四元数运算得到:

v 视为纯四元数:v = (0, v) 则旋转后的向量为:

v’ = qvq⁻¹

其中 q⁻¹ = (cos(θ/2), -sin(θ/2)u)q 的逆(对单位四元数,即共轭)。

复合旋转#

连续旋转对应于四元数乘法。先旋转 q₁ 再旋转 q₂ 的复合旋转为:

q = q₂q₁

注意乘法的顺序:q₂q₁ 表示先应用 q₁,再应用 q₂

四元数的优越性:数学视角#

1. 紧凑性对比#

  • 旋转矩阵:需要 9 个参数(满足正交约束)
  • 欧拉角:需要 3 个参数(但存在奇点)
  • 四元数:仅需 4 个参数(单位约束)

2. 避免万向节锁#

欧拉角参数化在俯仰角为 ±π/2 时出现奇点,导致自由度丢失。四元数作为 S³ 的整体参数化,无此类奇点。

3. 光滑插值#

球面线性插值(Slerp)公式:

Slerp(q₀, q₁, t) = \frac{\sin((1-t)Ω)}{\sinΩ} q₀ + \frac{\sin(tΩ)}{\sinΩ} q₁

其中 cosΩ = q₀·q₁(四元数点积)。

此插值在单位四元数空间上给出最短路径,确保旋转速度恒定。

4. 微分性质#

旋转的角速度 ω 与四元数导数之间的关系:

dq/dt = (1/2) ω q

其中 ω 是角速度的纯四元数形式。这一公式在物理仿真中极为有用。

重要运算与变换#

基本运算#

  1. 共轭:q* = (w, -v)
  2. :对于单位四元数,q⁻¹ = q*
  3. 范数:|q| = √(w² + |v|²)
  4. 规范化:q’ = q/|q|

与其他表示的转换#

四元数 → 旋转矩阵#

单位四元数 q = (w, x, y, z) 对应的 3×3 旋转矩阵为:

R = ⎡ 1-2y²-2z² 2xy-2wz 2xz+2wy ⎤ ⎢ 2xy+2wz 1-2x²-2z² 2yz-2wx ⎥ ⎣ 2xz-2wy 2yz+2wx 1-2x²-2y² ⎦

旋转矩阵 → 四元数#

给定旋转矩阵 R = [rᵢⱼ],四元数分量为:

w = ½√(1 + r₁₁ + r₂₂ + r₃₃) x = (r₃₂ - r₂₃)/(4w) y = (r₁₃ - r₃₁)/(4w) z = (r₂₁ - r₁₂)/(4w)

需处理 w ≈ 0 的特殊情况。

四元数 ↔ 轴-角表示#

已知轴 u 和角度 θ:

q = (cos(θ/2), sin(θ/2)u)

反之: θ = 2 arccos(w) u = v/|v| (若 |v| > 0)

几何理解:四维球面上的旋转#

单位四元数可视为四维单位球面上的点。有趣的是,q-q 表示相同的三维旋转(双覆盖映射)。这种对应关系是 S³ 到 SO(3) 的 2:1 满同态。

应用领域:数学无处不在#

计算机图形学#

  • 相机姿态表示
  • 骨骼动画中的关节旋转
  • 方向滤波与平滑

机器人学#

  • 刚体运动描述
  • 姿态估计与传感器融合
  • 机械臂运动学

航空航天#

  • 飞行器姿态控制
  • 卫星定向系统
  • 惯性导航

物理学#

  • 量子力学中的自旋表示
  • 刚体动力学
  • 相对论中的洛伦兹变换(四元数的推广)

数学深度:四元数代数#

四元数集合 ℍ 构成一个可除代数(除环):

  • 加法构成阿贝尔群
  • 乘法结合律成立
  • 每个非零元都有乘法逆
  • 乘法不满足交换律:pq ≠ qp

这种代数结构解释了为什么四元数能如此自然地描述三维旋转——因为三维旋转本身就不满足交换律。

结语:优雅的数学工具#

从哈密顿在桥上的顿悟,到现代计算机图形学的核心组件,四元数展示了纯粹数学如何为工程问题提供优美解决方案。它用四个数字捕捉了三维旋转的本质,避免了欧拉角的奇点,提供了光滑的插值路径,并在计算上保持高效。

理解四元数不仅仅是学习一种数学技巧,更是洞察三维空间旋转本质的窗口。下次当你看到流畅的三维动画或精准的机器人运动时,请记住,背后可能有这些简洁而强大的四元数公式在默默工作:

v’ = qvq⁻¹

有时,最深刻的解决方案恰恰来自最大胆的数学想象。哈密顿的洞察——放弃乘法交换律以获取更强大的表达能力——至今仍在激励着数学与工程的交叉创新。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
四元数:三维旋转的优雅数学
https://blog.vanilla.net.cn/posts/四元数/
作者
鹁鸪
发布于
2025-11-09
许可协议
CC BY-NC-SA 4.0
最后更新于 2025-11-09,距今已过 92 天

部分内容可能已过时

评论区

目录