问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

欧拉角(易理解)

创作时间:
作者:
@小白创作中心

欧拉角(易理解)

引用
CSDN
1.
https://blog.csdn.net/ODDYOU/article/details/119976130

欧拉角是用来唯一确定定点转动刚体位置的三个一组的独立角参量。由章动量θ、旋进角(即进动角)ψ和自转角φ组成,为欧拉首先提出而得名。

通俗来讲,欧拉角的思想类似于问路时得到的相对坐标指示,比如“往前走100m后右转”,相比绝对坐标更容易理解和操作。

通过欧拉角旋转

该动图摘抄自维基百科。具体拆解旋转步骤,如图:

图中有两组坐标:

  • xyz为全局坐标,保持不动
  • XYZ为局部坐标,随着物体一起运动

旋转步骤如下:

  1. 物体绕全局的z轴旋转α 角
  2. 继续绕自己的X轴(也就是图中N轴)旋转 β角
  3. 最后绕自己的Z轴旋转γ 角

这里有一副动图很直观地展示了旋转过程(角度标记的有点不一样)。

在旋转过程中,需要注意旋转顺序。旋转顺序就是我们上文提到的Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z)。我们指定绕x轴旋转α,绕y轴旋转β.但是可以有多个旋转顺序, 比如:

  • 情况1:先绕x轴旋转α,再绕y轴旋转β.得到姿态 O1
  • 情况2:先绕y轴轴旋转β,再绕x轴旋转α,得到姿态 O2

得到的 O1 一般是不等于 O2 的。对于x,y,z三个轴的不同旋转顺序一共有(x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z)六种组合。我们需要明确旋转顺序,才能确定欧拉角所指的姿态。

欧拉角万向节死锁(Gimbal Lock)

局部坐标系的使用导致了欧拉角有一个重大的缺陷,即万向节死锁。这种围绕选旋转前固定轴的先Z、再X、再Y的旋转操作,与其最终所预期的三个轴向可以旋转的结果并非一定是一对一的映射。某些情况下是多对一的映射,造成一些旋转自由度的缺失,也就是“死锁”。

在编程中很难规避死锁问题,所以现在很多时候都使用四元数实现旋转,四元数那又是另外的话题了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号