仿射变换(Affine transformation)与python实践
引进齐次坐标的好处?
许多图形应用涉及到几何变换,主要包括平移、旋转、缩放、翻转。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为p’ = m1*p+ m2 (m1旋转缩放矩阵, m2为平移向量, p为原向量 ,p’为变换后的向量)。引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,表示为p’ = p*M的形式。即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
y⃗ m×1=Am×nx⃗ n×1+b⃗ m×1
转换为齐次坐标的形式:
[y⃗ 1](m+1)×1=[A0,…,0b⃗ 1](m+1)×(n+1)⋅[x⃗ 1](n+1)×1
也即所有的:
Ax+b
都可以转化为:
Am×nxn×1+bm×1⇒A′(m+1)×(n+1)x′(n+1)×1
b
作为