什么是仿射变换以及仿射变换矩阵?
仿射变换可以理解为
对坐标进行放缩,旋转,平移后取得新坐标的值。
经过对坐标轴的放缩,旋转,平移后原坐标在在新坐标领域中的值。
假设XY坐标系坐标轴旋转θ,坐标原点移动(x0,y0)。
XY坐标系中的坐标(X,Y),则求新坐标系xy中的坐标值的方程组为:
X = X?cosθ - Y?sinθ + x0
Y = X?sinθ + Y?cosθ + y0
写成矩阵形式为
| x
|
| cosθ sinθ
| | x0
|
| | = |
X Y | *
|
| + |
|
| y
|
| -sinθ cosθ
| | y0 |
为将原点移动的值放入矩阵,则可以加入一个不影响原方程组的解的冗余方程。于是可以写成:
X = X?cosθ - Y?sinθ + x0
Y = X?sinθ + Y?cosθ + y0
1 =
X?0
+
Y?0
+ 1
写成矩阵形式为
| x
|
| cosθ
sinθ 0|
| y | = |
X Y 1 | * |
-sinθ cosθ
0|
| 1
|
|
x0
y0
1|
这个矩阵实际上就是Helmert变换矩阵。
考虑到新坐标系对于原坐标系在x,y两个坐标轴上的放缩率,可分别表示为λx和λy,则Helmert变换方程组可以修改为:
X = (λx)X?cosθ -
(λy)Y?sinθ + x0
Y = (λx)X?sinθ +
(λy)Y?cosθ + y0
同样按照前述方法写成三阶矩阵为
| x
|
| (λx)cosθ
(λx)sinθ
0|
| y | = |
X Y 1 | * |
(λy)-sinθ (λy)cosθ
0|
| 1
|
|
x0
y0
1|
这个矩阵就是affine变换矩阵,仿射矩阵。
几何上,两个向量空间之间的一个仿射变换或者仿射映射(来自拉丁语,affinis,“和...相关”)由一个线性变换接上一个平移组成:
在有限维的情况,每个仿射变换可以由一个矩阵A和一个向量b给出,它可以写作A和一个附加的列b。一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是一个1:

而列向量的底下要加上一个1:

(齐次坐标)。
|