1. 齐次坐标与变换矩阵

齐次坐标通过添加一个维度(通常为 w 分量)将三维点和向量统一到四维空间,使得旋转和平移可以用单一的 4×4矩阵 表示。其形式为:
[Rt01]\begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0} & 1 \end{bmatrix} [R0t1]
其中:

  • (R)(\mathbf{R})(R):3×3的旋转矩阵(描述坐标系的旋转)
  • (t)(\mathbf{t})(t):3×1的平移向量(描述坐标系的位移)
  • (0)(\mathbf{0})(0):3×1的零向量

Mermaid矩阵结构图
graph LR
    齐次变换矩阵 --> 定义[4×4矩阵]
    定义 --> R[左上3×3: 旋转矩阵R]
    定义 --> t[右上3×1: 平移向量t]
    定义 --> 0[左下3×1: 零向量]
    定义 --> 1[右下1×1: 1]

2. 齐次变换方程

齐次变换方程用于将一个点从原坐标系(A)变换到目标坐标系(B):
pB=TBA⋅pA \mathbf{p}_B = \mathbf{T}_{B}^{A} \cdot \mathbf{p}_A pB=TBApA
其中:

  • (TBA)(\mathbf{T}_{B}^{A})(TBA):从A到B的齐次变换矩阵
  • (pA)(\mathbf{p}_A)(pA):点在A坐标系中的齐次坐标(形式为 ([x,y,z,1]^T))
  • (pB)(\mathbf{p}_B)(pB):变换后的点在B坐标系中的坐标

示例:坐标系变换

假设坐标系B相对于坐标系A旋转了θ角度,并沿Z轴平移了d距离。其变换矩阵为:
TBA=[cos⁡θ−sin⁡θ00sin⁡θcos⁡θ00001d0001] \mathbf{T}_{B}^{A} = \begin{bmatrix} \cos\theta & -\sin\theta & 0 & 0 \\ \sin\theta & \cos\theta & 0 & 0 \\ 0 & 0 & 1 & d \\ 0 & 0 & 0 & 1 \end{bmatrix} TBA= cosθsinθ00sinθcosθ00001000d1


3. 变换组合

多个连续变换(如旋转→平移→旋转)可通过矩阵相乘实现:
Ttotal=T3⋅T2⋅T1 \mathbf{T}_{total} = \mathbf{T}_3 \cdot \mathbf{T}_2 \cdot \mathbf{T}_1 Ttotal=T3T2T1

Mermaid流程图示例
T1
T2
T3
坐标系A
坐标系B
坐标系C
总变换: T_total = T3*T2*T1

4. 应用场景

机器人运动学

在机器人学中,关节的运动可通过齐次变换矩阵描述。例如,机械臂的末端执行器位姿由各关节的变换矩阵相乘得到。

计算机图形学

在3D渲染中,物体的旋转和平移通过齐次变换矩阵统一处理,简化了复杂场景的坐标计算。


5. 关键公式与推导

逆变换

若已知 (TBA)(\mathbf{T}_{B}^{A})(TBA),则从B到A的逆变换为:
TAB=[RT−RTt01] \mathbf{T}_{A}^{B} = \begin{bmatrix} \mathbf{R}^T & -\mathbf{R}^T \mathbf{t} \\ \mathbf{0} & 1 \end{bmatrix} TAB=[RT0RTt1]

点与向量的区别
  • :具有位置,变换时 w=1
  • 向量:仅方向,变换时 w=0(仅旋转,不平移)。

总结

齐次变换方程通过统一旋转和平移操作,简化了多坐标系之间的转换问题。其核心是 4×4齐次变换矩阵,适用于机器人学、计算机图形学等领域的坐标变换和运动学建模。如需进一步分析具体应用或公式推导,可提供更详细图表!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐