码迷,mamicode.com
首页 > 其他好文 > 详细

三维坐标系的旋转矩阵

时间:2016-04-26 01:53:01      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

转载自;http://m.blog.csdn.net/blog/qiuqchen/21980731

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


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

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

    若以坐标系的三个坐标轴X、Y、Z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。

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

   一、技术分享绕Z轴旋转θ角
    绕Z轴旋转,相当于技术分享在XY平面的投影OM绕原点旋转,如下图所示,OM旋转θ角到OM‘。
                                                 
                                                            技术分享
                                                                   图2 向量绕Z轴旋转示意图

   设旋转前的坐标为技术分享,旋转后的坐标为技术分享,则点M的坐标为技术分享,点M‘的坐标为技术分享。由此可得:
                                                       技术分享
    对于技术分享技术分享进行三角展开可得:
                                                      技术分享
    且有技术分享;可得绕Z轴旋转技术分享角的旋转矩阵为:
                         
                                                                   技术分享

   二、技术分享绕X轴旋旋转θ角
   绕X轴旋转,相当于技术分享在YZ平面的投影ON绕原点旋转,如下图所示,ON旋转θ角到ON‘。
                                                            技术分享
                                                                   图3 向量绕X轴旋转示意图

   设旋转前的坐标为技术分享,旋转后的坐标为技术分享,则点N的坐标为技术分享,点N‘的坐标为技术分享。由此可得:

                                                   技术分享
    对于技术分享技术分享进行三角展开可得:
                                                技术分享
    且有技术分享;可得绕X轴旋转技术分享角的旋转矩阵为:
                         
                                                         技术分享

    三、技术分享绕Y轴旋旋转θ角
    绕Y轴旋转,相当于技术分享在XZ平面的投影OQ绕原点旋转,如下图所示,OQ旋转θ角到OQ‘。
                                                 
                                                            技术分享
                                                                   图4 向量绕Y轴旋转示意图

   设旋转前的坐标为技术分享,旋转后的坐标为技术分享,则点Q的坐标为技术分享,点Q‘的坐标为技术分享。由此可得:

                                               技术分享
    对于技术分享技术分享进行三角展开可得:
                                             技术分享
    且有技术分享;可得绕Y轴旋转技术分享角的旋转矩阵为:
                         
                                           技术分享



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

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

    公式的输入我使用了这篇博客http://blog.csdn.net/linraise/article/details/11712937给出的方法。还有一个小技巧,就是可以双击公式,在最上面的工具栏“图片”选项里直接修改公式的内容。

参考:
1、《学习OpenCV》

三维坐标系的旋转矩阵

标签:

原文地址:http://www.cnblogs.com/-liszt/p/5433421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!