分享

仿射变换以及仿射变换矩阵

 昵称20590214 2015-03-14
什么是仿射变换以及仿射变换矩阵?
仿射变换可以理解为
   对坐标进行放缩,旋转,平移后取得新坐标的值。
   经过对坐标轴的放缩,旋转,平移后原坐标在在新坐标领域中的值。

 
      假设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 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 1 | * | (λy)-sinθ (λy)cosθ   0|
| 1 |                 |  x0           y0          1|
 
这个矩阵就是affine变换矩阵,仿射矩阵。




几何上,两个向量空间之间的一个仿射变换或者仿射映射(来自拉丁语affinis,“和...相关”)由一个线性变换接上一个平移组成: x mapsto A x+ b.

在有限维的情况,每个仿射变换可以由一个矩阵A和一个向量b给出,它可以写作A和一个附加的列b。一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是一个1:

begin{bmatrix} A & b 0..0 & 1 end{bmatrix}

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

begin{bmatrix} x 1 end{bmatrix}

(齐次坐标)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多