关于姿态旋转矩阵中的正负号和旋转方向问题
2017-03-16 10:27
465 查看
相比于平移和缩放,姿态旋转和变换是几何变换中最麻烦的一项。网上有很多关于几何变换的推导文章,公式都是正确的,但是很多时候可能会很迷惑,因为他们的公式中的符号可能是相反的,例如绕x轴旋转:
可能是这样:
(1)
也可能是这样:
(2)
细看,sinθ的符号刚好是反的,两个旋转矩阵的相互间的转动恰好相反,那么到底谁是“错”’的谁是“对”的呢?
其实他们都是正确的,只是对自己使用可能是不合适的,它们的区别仅仅是坐标系不一样,作用对象不一样而已。
物理坐标系分为左手系和右手系,作用对象分为坐标系旋转和坐标系中向量或点旋转。
从左右手坐标系和作用对像出发就可以捋清该如何推导和使用这些矩阵了。对右手系而言,定义的正向转动为绕旋转轴的逆时针方向,所以当作用对像(或叫旋转对象)为坐标系中的点或者向量时,应该选用公式(2),但是当旋转的对象是坐标系本身(该坐标系应为参考坐标系),那么应该采用公式(1);反之,在左手系中,定义的正向为顺时针方向,则应该选用相反的公式。
对于作用对象的理解,当一个子坐标系在一个参考坐标系旋转时,并不能理解为作用对象就是坐标系,这里的作用对象是指参考坐标系自身的旋转,所以子坐标系的旋转只是向量(子坐标系的轴为参考系中的三个向量)在参考系中的正常的旋转,即作用对象为向量。
可能是这样:
(1)
也可能是这样:
(2)
细看,sinθ的符号刚好是反的,两个旋转矩阵的相互间的转动恰好相反,那么到底谁是“错”’的谁是“对”的呢?
其实他们都是正确的,只是对自己使用可能是不合适的,它们的区别仅仅是坐标系不一样,作用对象不一样而已。
物理坐标系分为左手系和右手系,作用对象分为坐标系旋转和坐标系中向量或点旋转。
从左右手坐标系和作用对像出发就可以捋清该如何推导和使用这些矩阵了。对右手系而言,定义的正向转动为绕旋转轴的逆时针方向,所以当作用对像(或叫旋转对象)为坐标系中的点或者向量时,应该选用公式(2),但是当旋转的对象是坐标系本身(该坐标系应为参考坐标系),那么应该采用公式(1);反之,在左手系中,定义的正向为顺时针方向,则应该选用相反的公式。
对于作用对象的理解,当一个子坐标系在一个参考坐标系旋转时,并不能理解为作用对象就是坐标系,这里的作用对象是指参考坐标系自身的旋转,所以子坐标系的旋转只是向量(子坐标系的轴为参考系中的三个向量)在参考系中的正常的旋转,即作用对象为向量。
相关文章推荐
- AndroidPad的适配关于屏幕旋转方向问题详解
- 关于图形旋转的问题(GDI+)
- 关于图形数学的基本问题,沿任意轴旋转,或者旋转坐标系的推导过程
- 关于移动测量姿态问题的思考
- 关于矩阵乘法重载的问题
- 关于android编程使用android.hardware.Camera 方向不对的问题
- 关于 元件中心旋转的问题
- 关于opengl透视矩阵问题
- 关于用sufer做影像图的问题,是一个色彩矩阵,请懂的高手帮忙看一下。
- 关于web应用中跨域问题的解决方案,并特别针对移动方向提出一些解决方案
- 关于矩阵运算的若干问题
- 关于图形旋转的问题(GDI+)
- 关于矩阵数字的两个有趣问题
- 关于多个viewcontroller和nib文件旋转的问题
- 关于矩阵加括号的问题
- GdiPlus[48]: IGPMatrix 矩阵(三) 关于矩阵的旋转
- 关于矩阵中寻找所有矩形的问题
- 关于ToolRotate——Android屏幕方向旋转的根源
- 关于iOS app的设备方向支持的问题
- 关于ToolRotate——Android屏幕方向旋转的根源