我正在用 Python 编写一个以重力为主要机制的 2D 游戏。

我制作了一些游戏引擎,但我卡住的部分实际上是确定要添加到每个质量的 X 和 Y 速度的内容。

所以说我有圆 A 和圆 B,每个圆都有一个位置、一个速度和一个质量。每个都应该相当逼真地拉向另一个,模拟牛顿引力。我将如何实现这一目标?

是的,我对测量单位非常模糊。稍后我可以尝试更改变量以适应公式。

最佳答案

您需要求解每个物体的运动方程。它们将被写成一组耦合的一阶常微分方程。您将分别为 x 和 y 方向编写一个方程,这将为您提供作为两个物体之间重力除以各自质量的函数的加速度。

您知道加速度、速度和位移之间的关系。

您最终需要求解四个耦合常微分方程。使用时间步进解决方案及时推进解决方案 - 显式或隐式,您的选择。

关于python - 牛顿重力模拟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11641077/

10-13 09:52