12.2. 三维几何变换#
三维空间的几何变换,在二维的基础上增加了
但是,三维旋转却要复杂不少。因为二维空间上的旋转,仅仅是围绕垂直于
12.2.1. 旋转的欧拉角表示#

图 12.3 欧拉角的示意图,从左至右依次是旋转绿色圈的偏航角(yaw),旋转红色圈的俯仰角(pitch),旋转蓝色圈的翻滚角(roll)。#
欧拉角是用来描述三维空间中刚体的转动角度的三个独立角度,最早由欧拉于1776年提出来,所以也被称为欧拉角。
三维旋转包含三个自由度,欧拉角将三个自由度分别给了三个确定的轴,即用绕三个确定轴的旋转来表示任意旋转。欧拉角的表示方法很多,以常见的航空领域的用法为例。
先绕全局的
轴旋转(偏航角),这时候目标自己的坐标系也发生了旋转;再绕自己的
轴旋转(俯仰角);最后绕自己的
轴旋转(滚转角)。
这里的旋转顺序是
提示
欧拉角有一个很常见的问题——万向锁(gimbal lock)。万向锁是指在动态表示(
12.2.2. 旋转的轴角表示#

图 12.4 轴角表示法。#
欧拉角虽然很常用,但它依赖于坐标轴的选定,且存在万向锁的问题。轴角表示法是更普遍的旋转表示:假设有一根经过原点的旋转轴
罗德里格斯公式的推导,采取拆分的思想,将旋转向量
我们可以直接推出轴角定义下的旋转矩阵:
轴角表示法非常直观且紧凑,但有个很大的缺点是很难进行旋转的插值。假设我们有两个旋转