欧拉角、四元数、旋转矩阵推导及相互关系

🔖数学 

旋转与旋转矩阵

2D旋转

与右手系旋转方向相同的为旋转正方向

二维平面内旋转

\[\left( \begin{matrix} x' \\ y' \end{matrix} \right) = \left( \begin{matrix} cosα & −sinα\\ sinα & cosα \end{matrix} \right) \left( \begin{matrix} x \\ y \end{matrix} \right)\]
3D旋转

绕Z轴旋转α角 \(\left( \begin{matrix} x' \\ y' \\ z \end{matrix} \right) = \left( \begin{matrix} cosα & −sinα & 0\\ sinα & cosα & 0 \\ 0 & 0 & 1 \end{matrix} \right) \left( \begin{matrix} x \\ y \\ z \end{matrix} \right)\)

旋转矩阵 \(R_z(α)= \left( \begin{matrix} cosα & −sinα & 0\\ sinα & cosα & 0 \\ 0 & 0 & 1 \end{matrix} \right)\) 绕X轴的旋转矩阵

\[R_x(α)= \left( \begin{matrix} 1 & 0 & 0\\ 0 & cosα & -sinα \\ 0 & sinα & cosα \end{matrix} \right)\]

绕Y轴的旋转矩阵 \(R_y(α)= \left( \begin{matrix} cosα & 0 & sinα\\ 0 & 1 & 0 \\ -sinα & 0 & cosα \end{matrix} \right)\)

欧拉角

欧拉角用于描述某个物体在坐标系中的姿态

  • 翻滚(Roll)绕X轴

  • 俯仰(Pitch)绕Y轴

  • 偏航(Yaw)绕Z轴

有两种旋转方式,旋转矩阵是一样的:

  • 绕固定(参考)坐标轴旋

  • 绕自身坐标轴旋转

四元数

\[q=q_0+q_1 i+q_2 j + q_3 k\]

或 \(q=w+x i+y j + z k\)

相互转换

四元数转旋转矩阵
旋转矩阵转四元数
欧拉角转旋转矩阵
\[R=R_z(α)R_y(β)R_x(γ)= \left( \begin{matrix} cosαcosβ & cosαsinβsinγ−sinαcosγ & cosαsinβcosγ+sinαsinγ\\ sinαcosβ & cosαcosγ+sinαsinβsinγ & sinαsinβcosγ−sinγcosα \\ −sinβ & cosβsinγ & cosβcosγ \end{matrix} \right)\]
旋转矩阵转欧拉角
欧拉角转四元素
四元数转欧拉角

阅读原文➡