Chr*_*ica 17
对于计算机来说,四元数更容易计算(对于人类而言,你不应该为3D旋转而烦恼):
当你想在矢量表示中连接两个旋转时,你会怎么做?您必须将它们转换为四元数或矩阵形式(使用昂贵的三角函数)来做到这一点(并且可能又回来),而四元数可以通过使用经典的四元数乘法有效连接.
如果要使用矢量格式的旋转旋转点/矢量,或者将其作为矩阵发送到GL/D3D,您会怎么做?您将其转换为矩阵(再次使用昂贵的三角函数).另一方面,四元数非常有效地转换为矩阵,因为它已经编码了所需的正弦和余弦.
因此矩阵和四元数是更合适的旋转表示.从这两个四元数更紧凑,它们也很容易转换为轴角表示(并再次返回),但使用三角函数.因此,如果您需要外围设备的轴角信息(只有我们人类有时需要实际的旋转轴和角度,计算机并不真正关心)您仍然可以使用它,但对于内部表示和计算四元数或矩阵是一个更好的选择.
如果四元数一开始看起来有点沉重,而且它们的"三维复数"解释,请不要理会它们的确切数学基础.开始了解它们的工作原理以及如何使用它们.实际上,它们只是一种轴角度表示,但具有隐式编码的正弦和余弦,这是有效变换和计算所需的.