三维重建——坐标系变换

转载自:https://blog.csdn.net/Peng___Peng/article/details/51510668

仅做参考资料用。

 

 

为了方便自己记忆,记录一下三维坐标旋转矩阵的推导过程。

 

    坐标的旋转变换在很多地方都会用到,比如机器视觉中的摄像机标定、图像处理中的图像旋转、游戏编程等。

    任何维的旋转可以表述为向量与合适尺寸的方阵的乘积。最终一个旋转等价于在另一个不同坐标系下对点位置的重新表述。坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ。

 

    若以坐标系的三个坐标轴X、Y、Z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。但是需要改一下,让每一个旋转的坐标轴都朝向同一个方向,根据右手定则,在这里所有的旋转轴都是朝向里面。。而且都是逆时针方向旋转的。

 

   假设三维坐标系中的某一向量,其在直角坐标系中的图如图1所示。其中点P在XY平面、XZ平面、YZ平面的投影分别为点M、点P、点N。

 

                                              

                                                                 图1 直角坐标系XYZ

 

   一、绕Z轴旋转θ角

    绕Z轴旋转,相当于在XY平面的投影OM绕原点旋转,如下图所示,OM旋转θ角到OM'。

                                                 

                                                            

                                                                   图2 向量绕Z轴旋转示意图 (这张图有点小错误,根据右手定则,让Z轴朝向里面了,所以Y轴朝上。但是这三个旋转轴应该统一设置朝外面,所Y轴是朝下的

   设旋转前的坐标为,旋转后的坐标为,则点M的坐标为,点M'的坐标为。由此可得:

                                                       三维重建——坐标系变换_第1张图片

    对于进行三角展开可得:

                                                      

    且有;可得绕Z轴旋转角的旋转矩阵为:

                         

                                                                   

 

   二、绕X轴旋旋转θ角

   绕X轴旋转,相当于在YZ平面的投影ON绕原点旋转,如下图所示,ON旋转θ角到ON'。

                                                            

                                                                   图3 向量绕X轴旋转示意图

 

   设旋转前的坐标为,旋转后的坐标为,则点N的坐标为,点N'的坐标为。由此可得:

 

                                                   三维重建——坐标系变换_第2张图片

    对于进行三角展开可得:

                                                

    且有;可得绕X轴旋转角的旋转矩阵为:

                         

                                                         

 

    三、绕Y轴旋旋转θ角

    绕Y轴旋转,相当于在XZ平面的投影OQ绕原点旋转,如下图所示,OQ旋转θ角到OQ'。

                                                 

                                                            

                                                                   图4 向量绕Y轴旋转示意图

 

   设旋转前的坐标为,旋转后的坐标为,则点Q的坐标为,点Q'的坐标为。由此可得:

 

                                               三维重建——坐标系变换_第3张图片

    对于进行三角展开可得:

                                             

    且有;可得绕Y轴旋转角的旋转矩阵为:

                         

                                           三维重建——坐标系变换_第4张图片

 

 

 

    四、绕X、Y、Z轴旋转的旋转矩阵分别为:

 

                三维重建——坐标系变换_第5张图片

 

    五、总结

    

    啰啰嗦嗦终于打完所有的公式了,其实三个轴会推导其中一个轴的旋转矩阵的话,另外两个轴也类似地可以很容易推导出来。这里给出所有的推导过程只是为了我自己记忆的方便。当然也可以不旋转向量,而使用旋转坐标系的方法推导,两种方法是等价的。

你可能感兴趣的:(3D,recon,&,scene,understanding)