这里有点帮助。我从硬件陀螺仪接收每个轴 1 次旋转,因此总共 3 个轴(x,y,z)旋转 3 次。当我使用基于矩阵的旋转时,我得到奇怪的旋转可能是因为乘法顺序 (RotX*RotY*RotZ <> RotY*RotX*RotZ),我也尝试过 MatrixYawPitchRoll,但出现了相同的效果。因此,我得出结论,我应该使用四元数,但我认为我必须创建 3 个四元数,每次旋转一个,但是当我将它们与乘法相结合时,我会得到与基于矩阵的旋转相同的效果......所以有人可以告诉我如何正确使用 3 次旋转来创建和组合四元数,而不会出现之前的乘法效果?
PS D3DXQuaternionRotationYawPitchRoll 仍然遭受与基于矩阵的旋转相同的效果。