四元数
1、Euler Angles -> Gimbal Lock;
2.可交互的方式 很好的描述了为什么四元数可以支持三维的变换:
3.
4.
5.
6. 如何采用四元数旋转一个点?
7 欧拉旋转和万向锁
https://www.zhihu.com/search?type=content&q=%E4%B8%87%E5%90%91%E9%94%81
欧拉旋转的三个轴是有顺序的,比如x->y-z,如果 y旋转90度,这个时候x-z会处于同一个平面。 此时要选择到下一个角度时,就会发现失效了。
而四元数的旋转是纯数学运算,不会导致这个问题。
红鹏做了个测试,unity里面的x,y,z选择, 当x= 90度的时候,y = 0,z = a 和 x = 90, y= a, z= 0,算出来是同样的值,也就是他失去了一个维度。
peipei的解释: