根据 欧拉旋转定理,任何 旋转 都可以用三个 角来描述。如果 旋转 用 旋转矩阵 、
和
表示,那么一般 旋转
可以写成
(1)
|
给出三个旋转矩阵的三个角称为欧拉角。欧拉角有几种约定,取决于旋转所绕的轴。将矩阵 写成
(2)
|
上面所示的所谓“-约定”是最常见的定义。在这个约定中,由欧拉角
给出的旋转,其中
1. 第一次旋转是绕 z 轴旋转角度 ,使用
,
2. 第二次旋转是绕先前的 x 轴(现在是 )旋转角度
,
在 [0,pi] 范围内,使用
,以及
3. 第三次旋转是绕先前的 z 轴(现在是 )旋转角度
,使用
。
然而,请注意,角的几种符号约定是通用的。Goldstein (1980, pp. 145-148) 和 Landau and Lifschitz (1976) 使用 ,Tuma (1974) 说
在航空工程中用于分析航天器(但声称
用于分析陀螺运动),而 Bate et al. (1971) 使用
。Goldstein 评论说,欧洲大陆的作者通常使用
,并警告说偶尔也会使用左手坐标系 (Osgood 1937, Margenau and Murphy 1956-64)。Varshalovich (1988, pp. 21-23) 使用符号
或
来表示欧拉角,并给出了三种不同的角度约定,没有一种对应于
-约定。
在这里,使用符号 ,这是一种可以在 6 之前的 Wolfram 语言 版本中使用的约定,如RotationMatrix3D[phi, theta, psi](可以在加载后运行Geometry`Rotations`)以及RotateShape[g, phi, theta, psi](可以在加载后运行Geometry`Shapes`)。在
-约定中,分量旋转由下式给出
(3)
| |||
(4)
| |||
(5)
|
所以
(6)
| |||
(7)
| |||
(8)
| |||
(9)
| |||
(10)
| |||
(11)
| |||
(12)
| |||
(13)
| |||
(14)
|
(15)
|
这是成立的
(16)
| |||
(17)
|
现在, 对应于绕
轴的旋转,所以查看
的
分量,
(18)
| |||
(19)
|
交点线对应于绕 轴旋转
,所以查看
的
分量,
(20)
| |||
(21)
| |||
(22)
|
类似地,要找到绕剩余轴旋转 ,请查看
的
分量,
(23)
| |||
(24)
| |||
(25)
|
结合这些部分得到
(26)
|
更多细节,请参见 Goldstein (1980, p. 176) 和 Landau and Lifschitz (1976, p. 111)。
-约定欧拉角由 Cayley-Klein 参数 表示为
(27)
| |||
(28)
| |||
(29)
|
在“-约定”中,
(30)
| |||
(31)
|
因此,
(32)
| |||
(33)
| |||
(34)
| |||
(35)
|
给出旋转矩阵
(36)
| |||
(37)
| |||
(38)
|
并且 由下式给出
(39)
| |||
(40)
| |||
(41)
| |||
(42)
| |||
(43)
| |||
(44)
| |||
(45)
| |||
(46)
| |||
(47)
|
在 “ (俯仰-滚转-偏航) 约定”中,
是俯仰角,
是滚转角,
是偏航角。
(48)
| |||
(49)
| |||
(50)
|
并且 由下式给出
(51)
| |||
(52)
| |||
(53)
| |||
(54)
| |||
(55)
| |||
(56)
| |||
(57)
| |||
(58)
| |||
(59)
|
有时使用一组参数代替角,即 欧拉参数 、
、
和
,定义为
(60)
| |||
(61)
|
(62)
| |||
(63)
| |||
(64)
| |||
(65)
| |||
(66)
| |||
(67)
| |||
(68)
| |||
(69)
| |||
(70)
|
(Goldstein 1980, p. 153)。
如果已知两组 个点
和
的坐标,一组相对于另一组旋转,那么可以使用 最小二乘拟合 以直接的方式获得欧拉旋转矩阵。将点写成向量数组,因此
(71)
|
将向量数组写成矩阵得到
(72)
|
(73)
|
并且求解 得到
(74)
|
然而,我们想要的是角 、
和
,而不是它们在矩阵
中包含的组合。因此,将
矩阵
(75)
|
作为 向量
(76)
|
现在设置矩阵
(77)
|
然后使用 非线性最小二乘拟合 给出收敛到 的解。