【问题标题】:What is a good way to simulate particle movement?什么是模拟粒子运动的好方法?
【发布时间】:2011-09-20 07:10:02
【问题描述】:

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

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

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

【问题讨论】:

  • 这与我也遇到的问题类似。如果您打算开发一个图书馆,我很乐意与您讨论这个问题。我试过使用BulletML,但这不是我想要的。

标签: python physics simulation


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在正常情况下,我们可以做的是……每次在任何球的每一次移动中,检查是否有球与其他球发生碰撞。

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-17
        • 2020-02-29
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多