一、仿射变换
仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间,一种从 R n 到 R m \mathbb{R}^n\ 到 \mathbb{R}^m Rn 到Rm 的映射。如下:
一个对向量 平移 ,与旋转放大缩小 A的仿射映射为
y
⃗
=
A
X
⃗
+
b
⃗
\vec{y}=A\vec{X} + \vec{b}
y=AX+b
如上所示,仿射变换为两函数的复合:平移及线性映射。普通向量代数用矩阵乘法呈现线性映射,用向量加法表示平移。正式言之,于有限维度之例中,假如该线性映射被表示为一矩阵“A”,平移被表示为向量,一仿射映射 f f f可被表示为
y ⃗ = f ( x ⃗ ) = A X ⃗ + b ⃗ \vec{y}=f(\vec{x})=A\vec{X} + \vec{b} y=f(x)=AX+b
其中:
- f ( x ⃗ ) f(\vec{x}) f(x)是仿射变换。
- X X X是输入向量。
- A A A是一个 m × n m \times n m×n 的可逆矩阵,代表线性变换部分。
- b ⃗ \vec{b} b 是一个 m m m 维向量,代表平移部分。
特性:
- 线性变换:仿射变换包含一个线性变换部分,这意味着它保持了向量加法和标量乘法的操作。
- 平移:仿射变换还包括一个平移部分,它将整个空间中的每个点按照 b b b 向量进行平移。
- 组合性:仿射变换可以看作是先进行线性变换,然后进行平移。
- 保距性:虽然仿射变换不一定保持距离和角度,但它保持了共线性(即平行性和成比例性)。
几何意义:
在几何上,仿射变换可以包括:
- 旋转(不改变向量间的相对方向)。
- 缩放(均匀地拉伸或压缩空间)。
- 反射(沿一个平面或轴线翻转空间)。
- 剪切(沿着一个方向的非均匀拉伸)。
二、仿射变换应用及示例
仿射变换在多个领域有广泛应用,包括:
- 计算机图形学:用于图像和模型的变换,如旋转、缩放和倾斜。
- 机器视觉:在图像识别和处理中,用于校正和变换图像。
- 机器人学:描述机器人部件的运动。
- 工程和建筑设计:在设计和建模中变换几何形状。
示例:
在二维空间中,一个仿射变换可以表示为:
f
(
x
,
y
)
=
[
a
b
c
d
]
[
x
y
]
+
[
e
f
]
f(x,y)= \left[ \begin{matrix} a & b\\ c & d\\ \end{matrix} \right] \left[ \begin{matrix} x \\ y \\ \end{matrix} \right] + \left[ \begin{matrix} e \\ f \\ \end{matrix} \right]
f(x,y)=[acbd][xy]+[ef]
这里,矩阵
[
a
b
c
d
]
\left[ \begin{matrix} a & b\\ c & d\\ \end{matrix} \right]
[acbd] 定义了线性变换,而向量
[
e
f
]
\left[ \begin{matrix} e \\ f \\ \end{matrix} \right]
[ef] 定义了平移。这个变换可以包括旋转、缩放、剪切和平移等操作。
三、仿射函数
从
R
n
\mathbb{R}^n
Rn 到
R
m
\mathbb{R}^m
Rm 的映射
x
↦
A
x
+
b
x \mapsto Ax + b
x↦Ax+b,称为仿射变换(affine transform)或仿射映射(affine map),其中 (A) 是一个
m
×
n
)
m \times n)
m×n) 矩阵,
b
b
b 是一个
m
m
m 维向量。当
m
=
1
m=1
m=1 时,称上述仿射变换为仿射函数。一般形式可以表示为:
f
(
x
)
=
A
x
+
b
f(x) = Ax + b
f(x)=Ax+b
其中:
- x x x 是一个 k k k 维的向量,代表函数的输入。
- A A A 是一个 m × k m \times k m×k 的矩阵,代表线性变换部分,它定义了输入向量 x x x 如何通过线性组合映射到更高或更低维度的空间。
- b b b是一个 m m m 维的向量,代表仿射变换中的偏置项,它决定了函数的输出在 R m \mathbb{R}^m Rm 空间中的位置。
特性
- 线性组合:仿射函数的输出是输入向量的加权线性组合,权重由矩阵 A A A 确定。
- 偏置:向量 b b b 为函数的输出添加了一个常数偏置。
- 一阶多项式:仿射函数是一阶多项式,因为它只包含输入变量的一次项。
- 空间映射:仿射函数反映了从 k k k 维空间到 m m m 维空间的线性映射关系,其中 m m m 可以大于、等于或小于 k k k 。
几何意义
在几何上,仿射函数可以被视为在
k
k
k 维空间中的一个线性变换(旋转、缩放等),随后在
R
m
\mathbb{R}^m
Rm 空间中进行平移。
四、仿射函数应用及示例
仿射函数在多个领域有应用,包括:
- 经济学:在消费者需求函数或生产函数中建模。
- 工程学:在控制系统中描述线性动态系统的行为。
- 物理学:在经典力学中描述物体的运动。
- 计算机科学:在机器学习和数据拟合中,仿射函数用于构建线性模型。
示例
-
在最简单的一维情况下 ( k = m = 1 ) (k = m = 1) (k=m=1),仿射函数简化为:
f ( x ) = a x + b f(x) = ax + b f(x)=ax+b
这里 a a a是标量,表示斜率,而 b b b是 y y y轴上的截距。 -
在多维情况下,例如在二维空间到三维空间的映射,仿射函数可以表示为:
f ( X ) = A [ x 1 x 2 ] + [ b 1 b 2 b 3 ] f(X)=A \left[ \begin{matrix} x_1 \\ x_2 \\ \end{matrix} \right] + \left[ \begin{matrix} b_1 \\ b_2 \\ b_3 \end{matrix} \right] f(X)=A[x1x2]+ b1b2b3
其中,
A
A
A是一个
3
×
2
3 \times 2
3×2 的矩阵,
X
X
X 是一个
2
2
2 维向量,
B
B
B 是一个
3
3
3 维向量。
五、二者区别与联系
仿射变换和仿射函数是数学概念,主要应用于线性代数和几何等领域。它们的基础在于将一种空间的形状变换到另一种空间,同时保持某种结构或性质不变。
区别:
- 仿射变换依赖于线性变换和向量加法,是一种保持直线之间“直”以及“平行”性质的变换。它包括旋转、缩放、平移和错切等变换。仿射变换在计算机图形学,特别是在处理2D和3D几何形状方面,有着广泛的应用。例如,在图形编辑程序中,你可以旋转、缩放、反转或移动图形对象,而这些都可以通过仿射变换来实现。
- 仿射函数是一种特殊形式的函数,可以表示为一个线性函数加上一个常数向量。在一维空间中,仿射函数的形式如 f(x) = ax + b,其中a是斜率,b是截距。在多维空间中,仿射函数通常表示为 f(x) = Ax + b,其中A是一个矩阵,b是一个向量。仿射函数在许多领域都有应用,包括统计学、机器学习、信号处理等等。
联系:
仿射变换和仿射函数的主要联系在于,仿射变换实际上就是通过仿射函数实现的。换句话说,仿射函数就是用于描述仿射变换的数学公式。当你在二维或三维空间中平移、旋转或缩放对象时,你实际上就是在应用一个仿射函数来改变每个点的坐标。