三维数学基础5:旋转的表示-欧拉角
我们已经了解到,4x4矩阵可以表示任意3维变换,包括平移、旋转和缩放。利用矩阵的乘法,可以将变换进行串接,并且将变换矩阵施加在点或矢量上。旋转还可以通过欧拉角和四元数进行表示。
欧拉角(eular angle)
欧拉角来描述刚体在三维欧几里得空间的取向。对于任何参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。
如下图所示,给定三个欧拉旋转角度 ( α , β , γ ) (\alpha,\beta,\gamma) (α,β,γ)和Z-X-Z顺序(蓝色坐标轴 上Z、左X、右Y)
旋转轴的顺序规则:合法的欧拉角组中,唯一的限制是,任何两个连续的旋转,必须绕着不同的转动轴旋转。因此有如下两类欧拉角:
- 常规欧拉角: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
旋转参考系的选择:欧拉角的旋转可分为基于全局坐标系的旋转和基于自身坐标系的旋转。基于全局坐标系的旋转叫做定轴旋转,又叫外旋转,此时称为静态欧拉角;基于自身坐标系的旋转叫做非定轴旋转,又叫内旋转,此时称为动态欧拉角。
我们用XYZ表示自身坐标系,xyz表示全局坐标系。那么按照Z-X-Z的顺序规则,内旋转和外旋转可描述为:
- 内旋转:绕着XYZ坐标轴旋转:最初,两个坐标系统xyz与XYZ的坐标轴都是重叠的。开始先绕着Z轴旋转 α \alpha α角值。然后,绕着X轴旋转 β \beta β角值。最后,绕着Z轴作角值 γ \gamma γ的旋转。
- 外旋转:绕着xyz坐标轴旋转:最初,两个坐标系统xyz与XYZ的坐标轴都是重叠的。开始先绕着z轴旋转 γ \gamma γ角值。然后,绕着x轴旋转 β \beta β角值。最后,绕着z轴作角值 α \alpha α的旋转。
初始坐标轴完全重叠的情况下,内旋 ( Z − X − Z , ( α , β , γ ) ) (Z-X-Z,(\alpha,\beta,\gamma)) (Z−X−Z,(α,β,γ)) 等价于 外旋 ( z − x − z , ( γ , β , α ) ) (z-x-z,(\gamma,\beta,\alpha)) (z−