1. 矩阵旋转
1)旋转轴可设为任意空间向量
2)需提供一个向量 + 一个角度,一共四个值
3)会增加计算量,造成时间和空间上的浪费
2. 欧拉旋转
1)表示形式直观
2)需提供x,y,z轴的旋转角度,一共三个值
3)虽然旋转角度相同,但旋转顺序不同时,会造成结果不同
4)可能造成万向节锁
(当两个旋转轴重合时,会丢失一个方向的旋转能力)
5)因为存在万向节锁,所以欧拉旋转无法实现球面平滑插值
3. 四元数旋转
1)需提供一个四维的四元数,一共四个值
2)避免万向节锁的出现
3)能实现线性插值
向量旋转
(四元数 * 向量 = 向量)
旋转组合
(四元数 * 四元数 = 四元数)