从一个坐标系到另一个坐标系的转换有多种方法:欧拉角法、方向余弦矩阵法、四元数法等。
其中欧拉角法的核心思想是:一个坐标系可以用另一个参考坐标系的三次空间旋转来表达。旋转坐标系的方法又有两种:
- Proper Euler angles, 第一次与第三次旋转相同的坐标轴(z-x-z,x-y-x, y-z-y,z-y-z, x-z-x, y-x-y)。
- Tait–Bryan angles, 依次旋转三个不同的坐标轴(x-y-z,y-z-x, z-x-y,x-z-y, z-y-x, y-x-z);
Tait–Bryan angles are 也叫作 Cardan angles; nautical angles; heading, elevation, and bank; or yaw, pitch, and roll. 有时候这两种变换序列都叫做 "Euler angles". 这种情况下,前者叫做 proper or classic Euler angles.
对于每个旋转序列,又有内在旋转(intrinsic rotations)和外在旋转(extrinsic rotations)两种方式。设有两个坐标系 \(OX_iY_iZ_i\) 和 \(OX_jY_jZ_j\) ,\(OX_iY_iZ_i\) 是固定不动的参考系,\(OX_jY_jZ_j\) 是需要被旋转的坐标系,初始时两个坐标系重合。内在旋转指每次旋转的旋转轴都是上次变换后新系 \(OX_jY_jZ_j\) 的坐标轴,外在旋转指每次旋转的旋转轴都是固定参考系 \(OX_iY_iZ_i\) 的坐标轴。
1. 转动矩阵
1.1 方向余弦矩阵
设有两个共原点的右手坐标系 \(OX_iY_iZ_i\) 和 \(OX_jY_jZ_j\) ,空间有一点 P,该点在 \(i, j\) 坐标系内的坐标分别为
\[ [x_i \quad y_i \quad z_i]^T \]
\[ [x_j \quad y_j \quad z_j]^T \]
P点从 \(j\) 系变换到 \(i\) 系的坐标变换关系为( \(j\) 坐标系下各坐标轴分量投影到 \(i\) 坐标轴的矢量和):
\[ \left\{ \begin{array}{l} x_i = x_j \cos(x_i,x_j) + y_j \cos(x_i,y_j) + z_j \cos(x_i, z_j) \\ y_i = x_j \cos(y_i,x_j) + y_j \cos(y_i,y_j) + z_j \cos(y_i, z_j) \\ z_i = x_j \cos(z_i,x_j) + y_j \cos(z_i,y_j) + z_j \cos(z_i, z_j) \end{array} \right. \tag{1-1} \]
\[ [r]_i = [^iR_j][r]_j \tag{1-2} \]
\[ [^iR_j] = \left\{ \begin{array}{l} \cos(x_i,x_j) & \cos(x_i,y_j) & \cos(x_i,z_j) \\ \cos(y_i,x_j) & \cos(y_i,y_j) & \cos(y_i,z_j) \\ \cos(z_i,x_j) & \cos(z_i,y_j) & \cos(z_i,z_j) \end{array} \right\} \tag{1-3} \]
即为一般形式的转动矩阵,也称为从 \(j\) 系向 \(i\) 系变换的转动矩阵。对 \(i\) 系来说,\([^iR_j]\) 描述了 \(j\) 系的姿态,故也称其为姿态矩阵,又因 \([^iR_j]\) 内各元素皆为坐标轴之间的方向余弦,所以也可称其为方向余弦矩阵,也可用 \([^iC_j]\) 表示。
当两个坐标系无相对转动时,\([^iR_j] = [I]\)
若取 \(j\) 系为参考系,则 P 点从 \(i\) 系到 \(j\) 系