我正在尝试制作一个2D碰撞检测和分辨率引擎,没有像冲动,力等物理元素。这是我需要的一个很好的例证,有两个多边形碰撞:
2D Polygon Collision Detection
我已经学会了分离轴定理如何工作以及如何使用它来检测两个多边形交叉并解决它。但是,我在实现多个主体冲突解决方案时遇到了问题。以下是此类案例:
矩形体A以速度V向上移动并与两个静态三角形相交。
我可以使用哪种算法来解决此类碰撞,并找到需要应用于身体以防止渗透的位移量和方向?
答案 0 :(得分:0)
如果我们添加以下限制,我们可以简化问题:身体只能沿其速度向量移动。 然后,至少有两个选项。
如果您有一个算法来判断两个物体是否发生碰撞,您可以对移动量(从0.0*v
到1.0*v
)进行二元搜索,之后仍然没有碰撞与任何机构。
然后,仅移动身体(示例中的红色矩形)。
如果你有一个更好的算法可以告诉你两个物体沿着矢量v
的最大移动量,之后仍然没有碰撞,只需要在所有物体中取最小值。实体(在您的示例中为两个三角形)。