0

我有一个四边形,我想(1)围绕 Y 轴旋转一个四边形,(2)围绕四边形的 X 轴旋转它。问题是它一个接一个地旋转,所以它围绕 Y 轴旋转,然后围绕世界的X 轴旋转,而不是四边形的X 轴。

基本上我想要做的是围绕它的 X 和 Y 轴旋转四边形(随机),最后我仍然希望它的 2 个底部顶点具有 Y = 0。

这是我现在正在使用的代码:

_game._device.Transform.World = Matrix.RotationYawPitchRoll(_rotationValues(i).X, _rotationValues(i).Y, 0) * Matrix.Translation(_translationValues(i))
_game._device.DrawPrimitives(PrimitiveType.TriangleList, 0, 4)
_game._device.Transform.World = Matrix.Identity
4

1 回答 1

0

我修好了它!而不是Matrix.RotationYawPitchRoll()我使用的方法Matrix.RotationXand Matrix.RotationY。这是代码:

_game._device.Transform.World = Matrix.RotationX(_rotationValues(i).X) * Matrix.RotationY(_rotationValues(i).Y) * Matrix.Translation(_translationValues(i) + location)
_game._device.DrawPrimitives(PrimitiveType.TriangleList, 0, 4)
_game._device.Transform.World = Matrix.Identity
于 2014-01-04T16:35:56.950 回答