1. 线性变换与仿射变换的本质区别
在机器人SLAM和自动驾驶领域,理解线性变换与仿射变换的区别至关重要。这个问题看似基础,却直接影响着我们对三维空间变换的认知和工程实现方式。
1.1 线性变换的数学本质
线性变换必须满足两个核心条件:
- 可加性:T(u + v) = T(u) + T(v)
- 齐次性:T(cu) = cT(u)
这两个条件保证了变换在数学上的"线性"特性。从几何角度看,线性变换具有以下关键特征:
- 原点始终保持不变(T(0) = 0)
- 直线变换后仍然是直线
- 平行线保持平行
- 比例关系保持不变
典型的线性变换包括:
- 旋转(绕原点的转动)
- 缩放(以原点为中心的放大缩小)
- 剪切(沿坐标轴的错切变形)
- 反射(关于平面的镜像)
1.2 平移变换的特殊性
平移变换的数学表达式为T(x) = x + t,其中t是平移向量。当我们用线性变换的两个条件来检验平移时:
可加性检验:
T(u + v) = (u + v) + t
T(u) + T(v) = (u + t) + (v + t) = u + v + 2t
除非t=0,否则两者不等
齐次性检验:
T(cu) = cu + t
cT(u) = c(u + t) = cu + ct
除非c=1或t=0,否则不相等
几何直观:
平移会将整个空间(包括原点)移动,这直接违反了线性变换必须保持原点不变的特性。想象你站在坐标系原点:
- 旋转时,你的脚仍然踩在原点上
- 平移时,你的整个身体(包括脚的位置)都移动了
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 仿射变换的工程价值
2.1 仿射变换的定义与组成
仿射变换是线性变换的扩展,其数学形式为:
T(x) = Ax + t
其中:
- A是线性变换矩阵(旋转、缩放等)
- t是平移向量
这种组合方式完美解决了工程中既需要线性变换又需要平移的实际需求。
2.2 仿射变换的几何特性
虽然仿射变换不再保持原点固定,但它保留了以下重要性质:
- 直线变换后仍然是直线
- 平行线保持平行
- 直线上点的比例关系不变
这些性质对于机器人运动和传感器数据处理至关重要。例如:
- 机器人移动时,环境中的直线特征(如墙壁边缘)应该保持直线
- 多个平行传感器测量结果处理后
