基础知识 · 2024年 9月 24日·87 次浏览 0

复数和四元数

引言

在数学和工程学中,复数四元数是两种重要的数系,它们扩展了实数的概念,能够表示更复杂的数量和关系。复数在二维空间中描述旋转和振荡,而四元数则在三维空间中提供了一种高效且稳定的旋转表示方法。本文将首先介绍复数,随后深入探讨四元数的定义、意义及其运算规则。


一、复数(Complex Numbers)

1. 什么是复数

复数是实数的扩展,由两部分组成:实部和虚部。一个复数通常表示为:

$$
z = a + bi
$$

其中:

  • $a$ 是复数的实部(real part)。
  • $b$ 是复数的虚部(imaginary part)。
  • $i$ 是虚数单位,满足 $i^2 = -1$。

2. 复数的表示方式

复数可以通过多种方式表示:

  1. 代数形式

$$
z = a + bi
$$

  1. 几何形式(复平面)
    • 复平面(或称阿根廷平面)将复数表示为二维平面上的点或向量。
    • 实部 $a$ 对应于水平轴(实轴)。
    • 虚部 $b$ 对应于垂直轴(虚轴)。
    • 复数 $z = a + bi$ 在复平面上的位置为点 $(a, b)$。
  2. 极坐标形式

$$
z = r (\cos \theta + i \sin \theta)
$$

或者使用欧拉公式:

$$
z = re^{i\theta}
$$

其中:

  • $r = |z| = \sqrt{a^2 + b^2}$ 是复数的(magnitude)。
  • $\theta = \arg(z) = \tan^{-1}\left(\frac{b}{a}\right)$ 是复数的幅角(argument),表示复数与实轴的夹角。

3. 复数的运算

复数之间可以进行多种运算,包括加法、减法、乘法、除法以及取模和共轭。

3.1 加法与减法

  • 加法

$$
(a + bi) + (c + di) = (a + c) + (b + d)i
$$

  • 减法

$$
(a + bi) – (c + di) = (a – c) + (b – d)i
$$

3.2 乘法

复数的乘法基于分配律和 $i^2 = -1$ 的性质:

$$
(a + bi)(c + di) = ac + adi + bci + bdi^2 = (ac – bd) + (ad + bc)i
$$

3.3 除法

复数的除法涉及到乘以共轭复数以消除分母中的虚部:

$$
\frac{a + bi}{c + di} = \frac{(a + bi)(c – di)}{c^2 + d^2} = \frac{(ac + bd) + (bc – ad)i}{c^2 + d^2}
$$

3.4 模与共轭

  • (Magnitude):

$$
|z| = \sqrt{a^2 + b^2}
$$

  • 共轭(Conjugate):

$$
\overline{z} = a – bi
$$

4. 复数的几何意义

复数在复平面中的表示赋予了它们丰富的几何意义:

  • 加法对应于向量加法。
  • 乘法涉及模的相乘和幅角的相加。
  • 复数的乘法与旋转
    • 乘以 $e^{i\theta}$ 相当于在复平面上将复数旋转 $\theta$ 角度。

5. 复数的应用

复数在多个领域有广泛的应用,包括:

  • 工程学:交流电路分析、电磁场理论。
  • 物理学:量子力学、波动理论。
  • 数学:复分析、傅里叶变换。
  • 计算机科学:信号处理、图形学。

二、四元数(Quaternions)

1. 什么是四元数

四元数是由威廉·哈密尔顿(William Rowan Hamilton)在19世纪中叶引入的一种数系,用于扩展复数的概念。四元数由一个实数部分和三个虚数部分组成,通常表示为:

$$
q = a + bi + cj + dk
$$

其中:

  • $a$ 是实部。
  • $b, c, d$ 是三个虚部,分别与虚数单位 $i, j, k$ 关联。
  • $i, j, k$ 满足特定的乘法规则。

2. 四元数的定义与乘法规则

四元数的乘法不满足交换律,即 $pq \neq qp$(非交换代数)。其乘法规则基于以下关系:

$$
i^2 = j^2 = k^2 = ijk = -1
$$

由此可以推导出:

$$
ij = k,\quad ji = -k
$$

$$
jk = i,\quad kj = -i
$$

$$
ki = j,\quad ik = -j
$$

这些乘法规则定义了四元数的乘法表。

3. 四元数的运算

四元数之间可以进行加法、减法、乘法、取模、取共轭等运算。

3.1 加法与减法

  • 加法

$$
(a + bi + cj + dk) + (e + fi + gj + hk) = (a + e) + (b + f)i + (c + g)j + (d + h)k
$$

  • 减法

$$
(a + bi + cj + dk) – (e + fi + gj + hk) = (a – e) + (b – f)i + (c – g)j + (d – h)k
$$

3.2 乘法

四元数的乘法基于分配律和乘法规则:

$$
(a + bi + cj + dk)(e + fi + gj + hk) = (ae – bf – cg – dh) + (af + be + ch – dg)i + (ag – bh + ce + df)j + (ah + bg – cf + de)k
$$

3.3 模与共轭

  • (Magnitude):

$$
|q| = \sqrt{a^2 + b^2 + c^2 + d^2}
$$

  • 共轭(Conjugate):

$$
\overline{q} = a – bi – cj – dk
$$

  • (Inverse):

$$
q^{-1} = \frac{\overline{q}}{|q|^2}
$$

3.4 标准四元数

  • 单位四元数(Unit Quaternion):模为1的四元数,用于表示旋转。

$$
q = a + bi + cj + dk,\quad |q| = 1
$$

4. 四元数的几何意义

四元数在三维空间中有着重要的几何意义,特别是在描述旋转时的应用:

  • 旋转表示
    • 单位四元数可用来表示三维空间中的旋转,避免了欧拉角的万向锁问题和旋转矩阵的冗余。
    • 给定一个单位四元数 $q = \cos(\theta/2) + \sin(\theta/2)(xi + yj + zk)$,其中 $\theta$ 是旋转角度,$\vec{v} = (x, y, z)$ 是旋转轴(单位向量)。
  • 旋转公式

$$
\vec{v}’ = q \vec{v} q^{-1}
$$

其中 $\vec{v}$ 作为纯虚四元数 $0 + xi + yj + zk$ 进行运算。

5. 四元数的应用

四元数在多个领域有广泛的应用,包括:

  • 计算机图形学:3D模型的旋转、动画、虚拟现实。
  • 机器人学:机器人运动控制、导航。
  • 航空航天:卫星姿态控制、飞行器导航。
  • 游戏开发:角色和摄像机的平滑旋转。
  • 物理学:描述空间中的旋转和角动量。

6. 四元数与旋转矩阵、欧拉角的比较

在三维空间中,旋转可以通过旋转矩阵、欧拉角或四元数来表示。四元数相较于其他方法具有以下优点:

  • 避免万向锁:欧拉角在特定条件下会出现万向锁现象,四元数不会。
  • 效率高:四元数的插值(如球面线性插值,SLERP)比旋转矩阵更高效,适合动画和平滑过渡。
  • 内存占用少:四元数只需4个数(一个实部和三个虚部),而旋转矩阵需要9个数。
  • 稳定性好:四元数在连续旋转中更稳定,减少累积误差。

三、四元数的运算规则与性质

1. 四元数的加法与减法

四元数的加法和减法与复数类似,按对应部分进行操作:

  • 加法

$$
q_1 + q_2 = (a_1 + a_2) + (b_1 + b_2)i + (c_1 + c_2)j + (d_1 + d_2)k
$$

  • 减法

$$
q_1 – q_2 = (a_1 – a_2) + (b_1 – b_2)i + (c_1 – c_2)j + (d_1 – d_2)k
$$

2. 四元数的乘法

四元数乘法基于虚数单位的乘法规则,满足分配律但不满足交换律:

$$
q_1 q_2 = (a_1 a_2 – b_1 b_2 – c_1 c_2 – d_1 d_2) + (a_1 b_2 + b_1 a_2 + c_1 d_2 – d_1 c_2)i + (a_1 c_2 – b_1 d_2 + c_1 a_2 + d_1 b_2)j + (a_1 d_2 + b_1 c_2 – c_1 b_2 + d_1 a_2)k
$$

3. 四元数的共轭与逆

  • 共轭

$$
\overline{q} = a – bi – cj – dk
$$

$$
q^{-1} = \frac{\overline{q}}{|q|^2} = \frac{a – bi – cj – dk}{a^2 + b^2 + c^2 + d^2}
$$

4. 四元数的模

四元数的模与其实数和虚数部分相关:

$$
|q| = \sqrt{a^2 + b^2 + c^2 + d^2}
$$

单位四元数满足 $|q| = 1$。

5. 四元数的旋转运算

四元数用于表示旋转时,通常使用单位四元数。给定一个旋转四元数 $q$ 和一个纯虚四元数 $v$(表示向量),旋转后的向量 $v’$ 由以下公式计算:

$$
v’ = qvq^{-1}
$$

其中:

  • $q = \cos(\theta/2) + \sin(\theta/2)(xi + yj + zk)$
  • $v = 0 + xi + yj + zk$

6. 四元数的性质

  • 非交换性:$q_1 q_2 \neq q_2 q_1$ 一般情况下。
  • 结合律:$q_1 (q_2 q_3) = (q_1 q_2) q_3$。
  • 分配律:$q_1 (q_2 + q_3) = q_1 q_2 + q_1 q_3$。
  • 与标量的乘法:四元数可以与实数(标量)进行乘法,作用在所有部分上。

四、四元数的实际应用

1. 计算机图形学与动画

在计算机图形学中,四元数被广泛用于表示和插值三维旋转。使用四元数进行旋转操作相比于欧拉角和旋转矩阵,具有更高的效率和更好的数值稳定性,尤其在连续旋转和动画过渡中。

2. 机器人学与航空航天

机器人和航空航天领域中,四元数用于姿态控制和导航。它们能够有效地表示和计算飞行器或机器人在空间中的方向,避免了万向锁问题,确保运动控制的平滑性和准确性。

3. 虚拟现实与增强现实

在虚拟现实(VR)和增强现实(AR)系统中,四元数用于跟踪和表示用户的头部和设备的方向。它们确保了用户视角的自然和连续变化,提升了沉浸体验。

4. 物理模拟

四元数在物理模拟中用于描述刚体的旋转状态,确保了模拟过程中的物理一致性和计算效率。


五、总结

复数四元数都是实数体系的重要扩展,能够描述更高维度的数量和关系。复数主要用于二维空间中的旋转和振荡现象,而四元数则在三维空间中提供了一种高效且稳定的旋转表示方法。四元数的运算规则虽然比复数复杂,但其在计算机图形学、机器人学、航空航天等领域的广泛应用证明了其强大的实用价值。

通过理解复数的基础,进一步掌握四元数的定义、运算规则及其几何意义,可以为解决复杂的空间旋转和方向控制问题提供有力的工具和方法。