zoukankan      html  css  js  c++  java
  • 2D几何变换

    2D点:非齐次坐标x(x,y) (x表示向量矢量)

       齐次坐标:x~=(x~,y~,w~)=w~(x,y,1)=w~x~         增广矢量:x=(x,y,1)

             w~=0时,齐次点称作理想点或无穷远点。

    2D平移:

        非齐次坐标:x'=x+t  即 x'=[I t]x     I是2*2的单位矩阵

            齐次坐标: x’=[I t; 0 1]x—       两个自由度t1,t2

            2D平移保持方向一致。

    2D旋转+平移:(2D刚体运动,2D欧式变换)

           非齐次坐标:x'=Rx+t  即 x'=[R t]x     R是2*2的正交旋转矩阵,R=[cosθ -sinθ;sinθ cosθ] ,RRT=I, |R|=1

           齐次坐标: x’=[R t; 0 1]x—      个自由度t1,t2

           2D欧式变换保持欧式距离,长度不变。

    2D放缩旋转平移:

           非齐次坐标:x'=sRx+t  即 x'=[sR t]x     R是2*2的正交旋转矩阵,R=[cosθ -sinθ;sinθ cosθ] ,RRT=I, |R|=1;

                          s是尺度因子(一个值),sR=[a -b; b a]

           齐次坐标: x’=[sR t; 0 1]x—       四个自由度t1,t2,θ,s

           2D相似变换保持直线间的夹角不变。

    2D仿射变换:

           齐次坐标: x’=Ax—    A 是2*3矩阵,A=[a00 a01 a02; a10 a11 a12]  

           在仿射变换下,平行线仍然保持平行。

    2D投影变换:(透视变换或同态映射)

            齐次坐标: x’=H— x—   H是任意的3*3齐次矩阵,也是非奇异矩阵,只相差在一个尺度量的情况下定义的。仅仅尺度量不同的两个H是等同的。

                   H=[h1 h2 h3; h4 h5 h6; h7 h8 h9 ]

                                             H的九个元素中有8个独立比率,因此一个投影变换有八个自由度。

    自由度:当以样本的统计量来估计总体的参数时, 样本中独立或能自由变化的自变量的个数,称为该统计量的自由度。

             投影变换保持直线性。

    2D坐标变换的层次
    变换 矩阵 自由度数 保持性质 图标
    平移 [I|t]2*3 2 方向
    刚氏 [R|t]2*3 3 长度
    相似 [sR|t]2*3 4 夹角
    仿射 [A]2*3 6 平行性 平行四边形
    投影 [H-]3*3 8 直线性 梯形

         

            

  • 相关阅读:
    关于抽象类
    封装.继承.多态
    构造方法
    String
    无参方法与有参方法
    类和对象
    使用分层实现业务处理(二)
    使用分层实现业务处理(一)
    序列化Serializable接口
    用JSP从数据库中读取图片并显示在网页上
  • 原文地址:https://www.cnblogs.com/nannan-yhx/p/5871080.html
Copyright © 2011-2022 走看看