【问题标题】:Implementing 2D multiple bodies collision resolution实现 2D 多体碰撞解决方案
【发布时间】:2014-05-11 20:17:30
【问题描述】:

我正在尝试制作一个没有物理元素(如脉冲、力等)的 2D 碰撞检测和解析引擎。这很好地说明了我的需求,两个多边形碰撞:

2D Polygon Collision Detection

我了解了分离轴定理的工作原理以及如何使用它来检测两个多边形的交点并解决它。但是,我在实现多体碰撞解决时遇到了问题。以下是此类情况的示例:


矩形体 A 以速度 V 向上移动并与两个静态三角形相交。

我可以使用哪种算法来解决此类碰撞并找到我需要应用于身体以防止穿透的位移量和方向?

【问题讨论】:

  • 第一个观察:这通常不比 2-body 碰撞分辨率更难,因为如果 2 个三角形是单个多边形(例如,如果它们由靠近顶部的薄水平条连接)那么问题的解决方案将保持不变。还是分辨率算法仅适用于凸多边形对?
  • 该算法仅适用于凸多边形。

标签: algorithm geometry game-physics 2d-games


【解决方案1】:

如果我们添加以下限制,我们可以简化问题:物体只能沿着它的速度矢量移动。 那么,至少有两种选择。

    1234563身体。 然后,仅将主体(在您的示例中为红色矩形)移动该数量。 1234563您的示例中有两个三角形)。

【讨论】:

  • 如果我允许物体仅沿速度矢量移动,这将非常有用,但在这种情况下,我希望它们沿多边形边缘“滑动”,就像我发布链接的示例程序一样。
猜你喜欢
  • 1970-01-01
  • 2012-01-13
  • 2018-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多