• 3D几何变换


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

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

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

    3D平移:

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

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

            3D平移保持方向一致。

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

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

           齐次坐标: x’=[R t; 0 1]x—       六个自由度t1,t2,t3,R的三个参数

       一般用x'=R(x-c)=Rx-Rc, c是旋转中心,通常是摄像机中心。

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

    3D放缩旋转平移:

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

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

           齐次坐标: x’=[sR t; 0 1]x—       七个自由度t1,t2,t3,R的三个参数,s

           3D相似变换保持直线与平面间的夹角不变。

    3D仿射变换:

           齐次坐标: x’=Ax—    A 是3*4矩阵,A=[a00 a01 a02 a03; a10 a11 a12 a13; a20 a21 a22 a23 ]  

           共有12个自由度,A中的12个参数。

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

           不变的性质:平面的平行性、体积比、形心、无穷远平面。

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

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

                   H=[h1 h2 h3 h4; h5 h6 h7 h8; h9 h10 h11 h12 ; h13 h14 h15 h16 ]

                                             H的16个元素中有15个独立比率,因此一个投影变换有15个自由度(七个用于相似变换部分:旋转三个、位移三个、均匀缩放一个;五个用于仿射变换部分;三个用于射影变换部分)。

           投影变换保持直线性(直线在变换后仍然是直线)。

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

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

         

            

    注:表中的下层的变换都能产生上层变换的所有行为。

    原创,转载请注明出处~

  • 相关阅读:
    POJ2155 Matrix 【二维线段树】
    BZOJ4785 [Zjoi2017]树状数组 【二维线段树 + 标记永久化】
    B1027 打印沙漏
    Tomcat无法成功启动——双击startup.bat闪退
    MySQL在cmd命令行查看端口号
    1009 说反话(类似回文字符串)
    除基取余法,
    日期差值
    怎么把VS里的scanf_s换成scanf
    联想小新潮怎么修改fn热键以及怎么进入bios状态
  • 原文地址:https://www.cnblogs.com/nannan-yhx/p/5872741.html
Copyright © 2020-2023  润新知