自从我需要在 C# 中使用 PI (3.1415...) 以来,我一直使用 Math.PI 来获取值。通常我只会使用像 Math.PI/2.0
或 2.0*Math.PI
这样的值,但现在我刚刚注意到 XNA 提供了一个 MathHelper 类。这样做的好处是我可以调用 MathHelper.PiOver2
和 MathHelper.TwoPi
,从而使极其微不足道的步骤变得更加微不足道。 ;-)
我假设这两个类可以互换,但我注意到 Math.PI/2.0 != MathHelper.PiOver2
。我试图研究为什么会这样,但我一无所获。所以,我想我会在这里碰碰运气。关于使用 PI,Math 类和 MathHelper 类之间有什么区别吗?一个比另一个更受欢迎吗?还是我应该只管足够好,只确保在整个程序中始终如一地使用其中一个?
最佳答案
他们怎么不平等?如果它们足够接近,这可能只是传统问题,即几乎不可能用 float 来测试相等性。
另外,它们是同一类型吗?我的意见是大多数游戏计算都是用 float 完成的,而 Math.PI 是 double 。
关于C# 数学与 XNA MathHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1529198/