Answer

问题及解答

[Def]欧拉角(Euler angles)

Posted by haifeng on 2012-07-17 13:34:57 last update 2012-07-17 15:58:57 | Edit | Answers (0)

这里的欧拉角实际上是三个(依次的)角度. 它们用来刻画三维欧氏空间中从一个坐标系到另一个坐标系的变换. 也就是说这个变换被分解为三个旋转.

假设初始坐标系为 $\mathbf{X}=\{\mathbf{x},\mathbf{y},\mathbf{z}\}$, 在正交变换 $g$ 下变换为 $\mathbf{X\'}=\{\mathbf{x\'},\mathbf{y\'},\mathbf{z\'}\}$.

首先坐标系 $\mathbf{X}$ 绕 $\mathbf{z}$ 轴逆时针旋转 $\psi$ 角度, 转动至坐标系 $\mathbf{\Xi}=\{\mathbf{\xi},\mathbf{\eta},\mathbf{\zeta}\}$ 处, 即通过下面的变换

\[\mathbf{\Xi}=g(\psi)\mathbf{X},\]

其中

\[g(\psi)=
\begin{pmatrix}
\cos\psi & -\sin\psi & 0\\
\sin\psi & \cos\psi & 0\\
0 & 0 & 1
\end{pmatrix}.
\]

第二步, 将坐标系 $\mathbf{\Xi}$ 绕 $\mathbf{\xi}$ 轴旋转 $\theta$ 角度, 转至坐标系 $\mathbf{\Xi\'}=\{\mathbf{\xi\'},\mathbf{\eta\'},\mathbf{\zeta\'}\}$ 处, 即通过下面的线性变换

\[\mathbf{\Xi\'}=g(\theta)\mathbf{\Xi},\]

其中

\[g(\theta)=
\begin{pmatrix}
1 & 0 & 0\\
0 & \cos\theta & -\sin\theta\\
0 & \sin\theta & \cos\theta
\end{pmatrix}.
\]

第三步, 将坐标系 $\mathbf{\Xi\'}$ 绕 $\mathbf{\zeta\'}$ 轴旋转 $\phi$ 角度, 转至坐标系 $\mathbf{X\'}=\{\mathbf{x\'},\mathbf{y\'},\mathbf{z\'}\}$ 处, 即通过下面的线性变换

\[\mathbf{X\'}=g(\phi)\mathbf{\Xi\'},\]

其中

\[g(\phi)=
\begin{pmatrix}
\cos\phi & -\sin\phi & 0\\
\sin\phi & \cos\phi & 0\\
0 & 0 & 1
\end{pmatrix}.
\]

于是

\[\mathbf{X\'}=g\mathbf{X}=g(\phi)g(\theta)g(\psi)\mathbf{X},\]

其中 $g$ 为

\[
\begin{split}
&
\begin{pmatrix}
\cos\phi & -\sin\phi & 0\\
\sin\phi & \cos\phi & 0\\
0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
1 & 0 & 0\\
0 & \cos\theta & -\sin\theta\\
0 & \sin\theta & \cos\theta
\end{pmatrix}
\begin{pmatrix}
\cos\psi & -\sin\psi & 0\\
\sin\psi & \cos\psi & 0\\
0 & 0 & 1
\end{pmatrix}\\
=&
\begin{pmatrix}
\cos\phi\cos\psi-\cos\theta\sin\phi\sin\psi & -\cos\phi\sin\psi-\cos\theta\sin\phi\cos\psi & \sin\phi\sin\theta\\
\sin\phi\cos\psi+\cos\theta\cos\phi\sin\psi & -\sin\phi\sin\psi+\cos\theta\cos\phi\cos\psi & -\cos\phi\sin\theta\\
\sin\theta\sin\psi & \sin\theta\cos\psi & \cos\theta
\end{pmatrix}.
\end{split}
\]

这三个角度 $\psi,\theta,\phi$ 是独立的参数, 完全决定了旋转变换 $g$. 它们被称为欧拉角(Euler angles). 由于第一、二、三步所采取的旋转分别是绕坐标系的第 3, 1, 3 轴旋转, 因此这被称为 $(3,1,3)$-序列欧拉角. 根据它们的定义, 得到它们的范围:

\[\psi\in[0,2\pi],\quad\theta\in[0,\pi],\quad\phi\in[0,2\pi].\]


这里的 $\psi,\theta,\phi$ 如何确定? 这里不妨记 $\mathbf{x}$ 轴正方向上的单位向量仍记为 $\mathbf{x}$, 其余类同. 则根据上面的定义, $\theta$ 就是 $\mathbf{z\'}$ 与 $\mathbf{z}$ 的夹角. $\mathbf{\xi}=\mathbf{\xi\'}=\mathbf{z}\times\mathbf{z\'}$. 然后在 $ozz\'$ 平面内确定 $\mathbf{\eta\'}$, $\mathbf{\eta\'}=\mathbf{\zeta\'}\times\mathbf{\xi\'}$. 由于 $\mathbf{\zeta}=\mathbf{z}$, $\mathbf{\xi}=\mathbf{\xi\'}$, $\mathbf{\eta}=\mathbf{z}\times\mathbf{\xi\'}$. 这样 $\phi$ 作为 $\mathbf{\eta\'}$ 和 $\mathbf{y\'}$ 之间的夹角就可以求出来. $\psi$ 作为 $\mathbf{\xi}$ 和 $\mathbf{x}$ 之间的夹角也可以求出来.

$\phi,\theta,\psi$ 分别称为 spin, nutation, precession.


Reference:

Moshe Carmeli, Shimon Malin, Theory of Spinors, An Introduction.

James Diebel, Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors, 2006.