Unity - 欧拉角

319 阅读1分钟

​定义

由三个角度x,y,z组成,在特定坐标系下用于描述物体的旋转量。空间中任意旋转都可以分解成绕x,y,z三个互相垂直轴的三个旋转角组成的序列。

在Transform组件上的R就是用欧拉角表示的

优缺点

优点:直观,易理解;存储空间小,只需要3个数就能表示;可以进行从一个方向到另一个方向旋转大于180°的角度。

缺点:同一旋转的表示不唯一(如沿x轴旋转90°,与450°);万向节死锁。

何为万向节死锁?

当某个特定轴达到某个特殊值时,绕一个轴旋转可能会覆盖另一个轴的旋转,从而失去一维自由度。如Unity种X轴达到90°时,旋转Y轴或Z轴,都只会沿着Z轴旋转。这就是万向节死锁。

总结

因为欧拉角存在一些却缺点,而四元数旋转不存在万向节死锁问题,因此在计算机中我们往往使用四元数来表示三维空间中的旋转信息。

qrcode.jpg