1、欧拉角
由三个角度(x,y,z)组成,在特定坐标系下用于描述物体的旋转量,空间中的任意旋转都可以分解秤绕三个互相垂直轴的三个旋转角组成的序列
(1)欧拉角旋转约定(heading-pitch-back)
Y-X-Z约定是一种最常用的旋转序列悦动
heading:物体绕自身的对象坐标轴的Y轴旋转的角度
pitch:物体绕自身的对象坐标轴的X轴旋转的角度
bank:物体绕自身的对象坐标轴的Z轴旋转的角度
而在Unity中,Inspector窗口中的调节的Rotation即是欧拉角=>this.transform.eulerAngles
2、欧拉角的优缺点
优点 | (1)直观,易理解 (2)存储空间小(三个数表示) (3)可以进行从一个方向到另一个方向旋转大于180度的角度 |
缺点 | (1)同一旋转的表示不唯一 (2)万向节死锁 |
(1)同一旋转的表示不唯一很好理解,比如绕y轴旋转90度和450度效果是一样的,主要说万向节死锁
(2)万向节死锁:当某个特定轴达到某个特殊值时,绕一个轴旋转可能会覆盖住另一个轴的旋转,从而失去一维自由度;在Unity中X轴达到90度时,会产生万向节死锁(此时无论绕y轴还是z轴旋转,都是绕z轴旋转)
由于欧拉角的缺点,而四元数旋转不存在万向节死锁问题,因此计算机中我们往往使用四元数来表示三维空间中的旋转信息