什么是模拟粒子运动的好方法?

时间:2011-09-20 07:10:02

标签: python physics simulation

我正在尝试模拟以下内容:

  • 在固定尺寸区域内移动的10个球
  • 每当两个或更多球进入40米的接近范围时,我想要一个事件 被触发

我的想法是利用具有不同属性的运动轨迹来引导球的运动并研究每个球如何彼此接触。有人可以建议一个好方法吗?

3 个答案:

答案 0 :(得分:1)

我怀疑你正在寻找的是碰撞检测和/或响应算法。您可能会发现this question and answer与您的方案几乎完全相同。为了更好地解释基础物理和数学,我发现这些旧的articles from Chris Hecker非常有用。

答案 1 :(得分:0)

对于物理学(移动和碰撞),Open Dynamics Enginebindings with various languages包括python。我个人没有使用它,但它已被用于一些商业游戏。

答案 2 :(得分:0)

按照正常的方法,我们可以做的是......每次在任何球的每次运动中,检查球是否与任何其他球碰撞。

然后我们可以通过在每对球之间保持安全距离变量来对这种方法进行一些优化。安全距离是指两个球之间的距离,可在碰撞前使用。如果这两个球移动了总安全距离,则无需检查它们是否发生碰撞,一旦它们的运动累积超过安全距离,那么我们只检查碰撞并计算下次检查的安全距离。

例如,对于您的情况,如果两个球彼此相距100米,则安全距离为60米,因此除非这两个球移动60米距离,否则我们不会检查碰撞。

这只是我的想法。其他人可以说出更好的方法。