Note

第3讲 三维空间刚体运动

3.1 理论基础

刚体运动由旋转(Rotation)平移(Translation)组成。

3.1.1 基础向量运算

  • 向量:空间中的实体,其坐标值取决于选取的坐标系(基底)。

  • 坐标系:通常使用右手系(Right-hand system)。

  • 外积与反对称矩阵

    • 在三维空间中,向量的外积 a × b 可以写成矩阵与向量的乘法 ab
    • 符号 (hat) 操作符将向量映射为反对称矩阵。
    • 公式
      • 设向量 a = [a1, a2, a3]T,则:

3.1.2 旋转矩阵 (Rotation Matrix)

  • 定义:描述两个坐标系基底之间的变换关系。

  • 数学性质

    • 属于特殊正交群 SO(n)
    • 对于三维空间 SO(3) = {R ∈ ℝ3 × 3|RRT = I, det (R) = 1}
    • R 是正交矩阵: R−1 = RT RRT = I det (R) = 1
  • 缺点

    • 冗余性:用 9 个量描述 3 个自由度的旋转。
    • 约束性:自身带有约束(正交且行列式为1),优化求解困难。

3.1.3 旋转向量 (Rotation Vector / Axis-Angle)

  • 定义:用一个旋转轴 n 和旋转角 θ 来描述旋转。

  • 表示:向量 w = θn(方向为轴,模长为角)。

  • 旋转向量 旋转矩阵 (罗德里格斯公式) R = cos θI + (1 − cos θ)nnT + sin θn

  • 旋转矩阵 旋转向量

    • 求旋转角 θ:利用矩阵的迹(Trace,对角线元素之和)。 tr(R) = 1 + 2cos θ
    • 求旋转轴 nn 是矩阵 R 特征值 1 对应的特征向量,即满足: Rn = n
  • 优点:紧凑(3个量),无约束。

  • 缺点:具有奇异性(周期性问题)。

3.1.4 欧拉角 (Euler Angles)

  • 定义:将旋转分解为三次绕不同轴的旋转。
    • Z - Yaw - 偏航
    • Y - Pitch - 俯仰
    • X - Roll - 滚转
  • 优点:直观,易于人机交互理解。
  • 缺点万向锁 (Gimbal Lock)
    • 当俯仰角(Pitch)为 ±90 时,第三次旋转轴与第一次重合,丢失一个自由度。
    • 不适合用于插值、迭代或 SLAM 的核心计算,仅用于显示。

3.1.5 四元数 (Quaternion)

  • 定义:一种扩展的复数,q = q0 + q1i + q2j + q3k
    向量形式记为 q = [s, v],其中 s = q0 为实部,v = [q1, q2, q3]T 为虚部。

  • 单位四元数:模长为 1 的四元数可表示三维旋转。

  • 运算

    • 乘法:设 qa = [sa, va],  qb = [sb, vb] qaqb = [sasb − vaTvb,  savb + sbva + va × vb] 注意:四元数乘法不可交换。

    • 共轭q* = [s, −v]

    • 模长q2 = s2 + x2 + y2 + z2

    • 若为单位四元数(描述旋转),q∥ = 1,则 q−1 = q*

  • 优点:紧凑(4个量),无奇异性(Gimbal Lock),计算效率高。

  • 注意qq 表示同一个旋转。

  • 用四元数旋转一个点

    • 设空间点 p = [x, y, z]T,旋转由单位四元数 q 描述。
    • 将点 p 扩展为虚四元数pquat = [0, x, y, z]
    • 旋转公式pquat = qpquatq−1 (若 q 为单位四元数,即 qpquatq*)
    • 取出 pquat 的虚部即为旋转后的坐标。
  • 旋转向量 四元数

    • 设旋转轴 n,角度 θ
  • 四元数 旋转矩阵

    • q = [q0, q1, q2, q3] (归一化后),对应的 R 为:

3.1.6 变换矩阵 (Transform Matrix)

  • 欧氏变换a = Ra + t

    • 这不是线性变换,多次变换累加形式复杂。
  • 齐次坐标:在三维向量末尾加 1,变为四维向量 [x, y, z, 1]T

  • 变换矩阵 T

  • 数学性质:属于特殊欧氏群 SE(3)

  • 坐标变换

    • 设点 P 在坐标系 2 的坐标为 p2,变换到坐标系 1 的坐标 p1 即非齐次形式:p1 = R12p2 + t12
  • 变换矩阵的逆

    • 给定 ,其逆矩阵 T−1 为:
    • 推导思路: 若 a = Rb + t,反求 bRb = a − t 左右同乘 RT (即 R−1): b = RTa − RTt 这就对应了 T−1 的结构。

3.2 基础变换方式对比

变换方式 表达形式 自由度 优点 缺点 适用场景
旋转矩阵 3 × 3 矩阵 3 描述直接,无奇异 冗余(9参数),有约束 坐标变换推导
旋转向量 3维向量 3 紧凑 也就是轴角,不直观 李代数优化
欧拉角 3维向量 3 非常直观 万向锁,定义不唯一 人机交互
四元数 4维向量 3 紧凑,无奇异 运算稍复杂,不直观 存储、插值、快速计算
变换矩阵 4 × 4 矩阵 6 线性表达,级联方便 冗余(16参数) 描述位姿 (SE3)

3.3 理论补充

三维空间中的变换除了刚体运动(欧氏变换)外,还有更一般的形式。它们的关系是包含关系: 欧氏 相似 仿射 射影

以下均使用齐次坐标表示,设变换前的点为 ,变换后的点为

3.3.1 相似变换 (Similarity Transformation)

在欧氏变换的基础上,允许物体进行均匀的缩放

  • 直观理解:刚体运动 + 均匀缩放(保持形状不变,只改变大小和位置)。
  • 矩阵形式
    • s ∈ ℝ:缩放因子 (Scalar)。
    • R ∈ SO(3):旋转矩阵。
    • t ∈ ℝ3:平移向量。
  • 自由度 (DoF)7
    • 3 (旋转) + 3 (平移) + 1 (缩放)。
  • 不变性 (Invariants)
    • 保角性:两条直线的夹角不变。
    • 平行性:平行线变换后仍平行。
    • 距离比:两段线段长度的比值不变(虽然绝对长度变了)。
  • 应用:单目 SLAM 的尺度漂移(Sim3优化)。

3.3.2 仿射变换 (Affine Transformation)

仿射变换是线性变换(旋转、缩放、切变)加上平移的组合。

  • 直观理解:把正方体压扁成平行六面体(立体的平行四边形)。它可以拉伸、剪切(shear),但不产生透视效果。
  • 矩阵形式
    • A ∈ ℝ3 × 3:只要是可逆矩阵即可,不必是正交矩阵。
    • t ∈ ℝ3:平移。
  • 自由度 (DoF)12
    • 9 (矩阵 A 的元素) + 3 (平移 t)。
  • 不变性 (Invariants)
    • 平行性:平行线变换后依然平行(这是与射影变换最大的区别)。
    • 体积比:物体体积的比值不变。
    • 共线性:直线变换后还是直线。
  • 注意:正交投影(Orthographic Projection)属于一种特殊的仿射变换(丢弃了Z轴信息)。

3.3.3 射影变换 (Projective Transformation)

最一般的线性变换,也称为单应性变换 (Homography)

  • 直观理解:真实世界(3D)投影到照片(2D)的过程就是射影变换的一种降维形式。在3D-3D变换中,想象光线从一点发散投影,正方体可能变成不规则的四棱台(Frustum)。
  • 矩阵形式
    • A ∈ ℝ3 × 3
    • t ∈ ℝ3
    • aT ∈ ℝ3:导致透视失真(近大远小)的关键部分。
    • v ∈ ℝ
  • 自由度 (DoF)15
    • 矩阵原本有 4 × 4 = 16 个参数。
    • 但是在齐次坐标下,TkT (k ≠ 0) 表示同一个变换。我们需要扣除一个缩放因子的自由度,通常令右下角 v = 1 或矩阵模长为1,所以是 16 − 1 = 15
  • 不变性 (Invariants)
    • 共线性:直线变换后还是直线(但平行线可能会相交于“消隐点”)。
    • 交比 (Cross-ratio):直线上四个点的交比保持不变。
    • 不保持:不保平行(两条平行线在照片里会相交),不保角度,不保距离比。

3.4 补充变换方式对比

变换名称 矩阵结构 自由度 (3D) 不变性质 (Invariant Properties) 几何形变举例
欧氏变换 6 长度、夹角、体积、平行性 刚体移动/旋转
相似变换 7 夹角、平行性、长度比 均匀放大/缩小
仿射变换 12 平行性、体积比 正方形 平行四边形
射影变换 15 共线性、交比 正方形 不规则四边形

© 2026 GnehSizum. Powered by Hexo.

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。