1

运动传感器返回的 RotationMatrix 不应该等于使用来自同一运动读数的 Yaw、Pitch 和 Roll 值创建的矩阵吗?

具有以下代码:

MotionReading mr = motion.CurrentValue;
Matrix m1 = mr.Attitude.RotationMatrix;
var yaw = mr.Attitude.Yaw;
var pitch = mr.Attitude.Pitch;
var roll = mr.Attitude.Roll;
Matrix m2 = Matrix.CreateFromYawPitchRoll(yaw, pitch, roll);

m1和m2不应该相等吗?我在那里想念什么?

4

1 回答 1

0

你的怎么RotationMatrix计算的?
如果您在多个轴上旋转模型,有时可能会出现第一次旋转实际上旋转另一个 2 轴的问题,也许这就是为什么CreateFromYawPitchRoll给您一个Matrix不同于您的RotationMatrix.
我建议你使用CreateFormYawPitchRoll,或者你可以尝试使用Quaternions

于 2013-08-20T14:05:45.543 回答