目录
一、什么是欧拉角
二、理解欧拉角
2.1 旋转顺序
2.2 内旋和外旋
2.3 万向锁
2.4 如何避面出现万向锁
三、欧拉角与旋转矩阵相互转化
3.1 欧拉角转旋转矩阵
3.2 代码示例
3.3 旋转矩阵转欧拉角
3.4 代码示例
一、什么是欧拉角
欧拉角(Euler Angles)就是物体绕坐标系三个坐标轴(x,y,z轴)的旋转角度。欧拉角是一种用于描述刚体在三维空间中的旋转姿态的数学工具。它通过三个角度(通常称为俯仰角、滚转角和偏航角)来表示旋转。欧拉角被广泛应用于机器人学、计算机图形学、航空航天等领域。
heading-pitch-bank系统不是惟一的欧拉角系统,绕任意三个互相垂直轴的任意旋转序列都能定义一个方位。所以,多种选择导致了欧拉角约定的多样性:
欧拉角有多种定义方式,但通常有以下三种常见的旋转顺序:
-
ZYX 顺序(即 Yaw-Pitch-Roll,偏航-俯仰-滚转):
- Yaw(偏航):绕 z 轴旋转的角度(通常称为 ψ\psiψ)。
- Pitch(俯仰):绕 y' 轴旋转的角度(通常称为 θ\thetaθ),y' 轴是第一次旋转后的 y 轴。
- Roll(滚转):绕 x'' 轴旋转的角度(通常称为 ϕ\phiϕ),x'' 轴是第二次旋转后的 x 轴。
-
ZXY 顺序: