牛顿重力模拟

我正在用Python编写一个2D游戏,它把重力作为主要机制.

我已经制作了一些游戏引擎,但是我遇到的问题实际上是确定要添加到每个质量的X和Y速度上的内容.

假设我有一个圆圈A和一个圆圈B,每个圆圈都有一个位置,一个速度和一个质量.应该模拟牛顿重力,将每一个都逼近对方.我将如何实现?

是的,我对度量单位非常含糊.稍后,我可以尝试更改变量以适合公式.

解决方法:

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

您知道加速度,速度和位移之间的关系.

您最终要解决四个耦合的常微分方程.使用时间步进解决方案来按时推进解决方案-您可以选择显式还是隐式.

上一篇:Javascript-当惯性滚动算法接近顶部或底部时,如何减速?


下一篇:Gazebo_01_getting_start