Computing Euler angles from a rotation matrix (翻译)
2017-07-14 16:10
465 查看
一、论文翻译
“从旋转矩阵中计算欧拉角”论文链接:http://www.staff.city.ac.uk/~sbbh653/publications/euler.pdf
在翻译之前,先分析旋转矩阵,如下图从二维空间开始计算
关于Z轴的旋转矩阵关系是:
则在三维下,刚体绕三个坐标轴的旋转矩阵为:
根据R矩阵接下来分析欧拉角的取值:
1)R(3,1) ~= ±1
2)R(3,1) = ±1
-
-
对于R(3,1) = ±1时,这种现象称为万向节死锁(Gimbal Lock)。对于此现象可以看该链接:
http://www.cnblogs.com/driftingclouds/p/6540222.html
沿着机身右方轴(+X)进行旋转,称为pitch,叫俯仰角。
沿着机头上方轴(+Y)进行旋转,称为Yaw,叫偏航角 。
沿着机头前方轴(+Z)进行旋转,称为Roll,叫翻滚角。
当翻滚角到90度时,其与偏航角会重合,而使陀螺仪的自平衡作用只有偏航和俯仰起作用,这时候的现象就是万向节死锁。故而用从旋转矩阵求得欧拉角,还是从在一定的局限性。
——————————————————
二、从四元数来解决
在这里通过旋转矩阵转化为四元数,在从四元数转化为欧拉角,可以有效的避免万向节死锁问题。可查看博客:
http://blog.csdn.net/u012750702/article/details/72229117
相关文章推荐
- Rotation Matrix To Euler Angles
- Eigen库 EulerAngles <-->RotationMatrix<-->Quaterniond 转换方法 欧拉角<-->旋转矩阵<-->四元数
- unity三种旋转方式localEulerAngles、rotation和Rotate的区别
- To get the View matrix from the rotation,translation,scale
- matrix computing optimization schemes
- Nginx--官网中文翻译(中英文对比)--Installing nginx-Building from Sources
- Unity说明文档翻译-Importing from the Asset Store
- [翻译]C#中的泛型 (From dotNet SDK 2.0 Beta1)
- From Apprentice To Artisan 翻译 20
- 论文翻译:Development and Evaluation of Emerging Design Patterns for Ubiquitous Computing
- [leetcode]Rotate Image, Matrix tranposition, matrix rotation 90 degree @ Python
- Distinctive Image Features from Scale-Invariant Keypoints(个人翻译+笔记)-介绍
- OOP Isn't a Fundamental Particle of Computing(待翻译)
- 《点云-外文文献翻译》part2 Computing and Rendering Point Set Surfaces-Marc Alexa
- rotate matrix from 2 vectors
- 解决Type mismatch: cannot convert from ByteMatrix to BitMatrix
- 翻译--Blazing fast node.js: 10 performance tips from LinkedIn Mobile
- Tachyon在Spark中的作用(Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks 论文阅读翻译)
- Tachyon在Spark中的作用(Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks 论文阅读翻译)
- AS3基础:图片绕中心点旋转(Matrix) 与直接rotation不会发虚