Chr*_*ica 28
欧拉角更易于理解,也有利于将旋转分解为单独的自由度(对于运动关节等),但具有模糊性和万向节锁定等缺点.在实践中,我更喜欢四元数,因为它们更容易计算(对于计算机而不是人类)并且更有效.当通过欧拉角旋转时,你必须进行三次旋转并将它们相乘,而四元数只有一次旋转,因为它已经编码了sin和cos,从四元数到矩阵的转换非常有效.
从Christian Rau的答案中略微提出一点:
欧拉角的规范存在模糊性:哪个角度适用于哪个轴?使用约定的代码(偏航,俯仰,滚动)将不会与假设(滚动,俯仰,偏航)的代码互操作,并且从查看代码时可能不明显,使用哪种解释.
四元数不会受到这种模糊性的影响,因为它们只表示单个旋转,具有明确定义的轴.
正如其他答案中指出的那样,四元数比欧拉角有很多优点。然而,欧拉角确实比四元数有一个优势:
\n\n欧拉角可以告诉您旋转的方向和大小。当您将欧拉角转换为四元数时,该信息会丢失。例如,(-270\xc2\xb0, 0, 0) 和 (1170\xc2\xb0, 0, 0) 的欧拉旋转产生相同的四元数 (-0.7071, 0, 0, -0.7071)。
\n