我正在开发一个 3D 太空游戏,它使用了大量的数学公式、导航、缓动效果、旋转、行星之间的巨大距离、物体质量等等......
我的问题是使用数学的最佳方法是什么。我应该将所有内容都计算为整数并获得非常大的整数(超过 20 位),还是使用带有小数的小数。
根据我的经验,使用带小数的数字时的数学计算不准确,当使用带小数的大数时会导致奇怪的行为。
我会避免使用小数。他们精确地了解问题: http: //floating-point-gui.de/
我建议使用整数,但如果您需要使用非常大的整数,我建议使用大数字或大整数库,例如以下之一:
缺点是您必须使用这些数字对象及其方法,而不是原始 Number 类型和标准 JS 运算符,但您在处理大数字时将具有更大的灵活性。
编辑:
正如le_m指出的那样,另一个缺点是速度。库方法的运行速度不如本机运算符。您必须亲自测试一下性能是否可以接受。