碰撞检测和碰撞响应

gro*_*cho 10 android collision-detection

我一直在尝试使用机器人Opengl代表一些移动/旋转物体.现在我想让他们碰撞并做出现实回应.

研究这个问题,我可以找到许多资源,告诉我如何确定两个3d形状是否在当前帧中发生碰撞(或者它们是否会在下一帧中发生碰撞).但是,我无法找到描述如何获取有关已发生冲突的信息的资源.

例如,使用凸形,我想知道哪个顶点首先与哪个平面相撞,在帧之间的什么时间.这样我就可以知道每个形状应该如何响应它的位置和旋转.

我可以描述每个顶点与光线的运动,以及每个帧之间的平面运动.然而,我有点难过,因为我将如何使用它来找到他们未来的交叉点,以及这是否有可能时间效率明智.我已经阅读了一些减少复杂计算需求的方法,比如octtree和hit box.

我对这个话题相当新,所以任何资源或关于如何处理这些问题的建议都会受到赞赏.感谢您的时间!

Raf*_*tić 4

对于碰撞检测,您正在寻找的解决方案称为连续碰撞检测,可以在此处找到解释。检测两个物体之间的接触相对简单,尤其是在忽略角速度的情况下,但如果您要对两个以上对象进行模拟,则需要全局求解 TOI,因为碰撞顺序很重要,并且无法通过检查孤立碰撞来确定对(没那么简单)。

此外,您还应该说明您要解决的具体问题 - 因为找到 TOI(影响时间)并不是一项简单的任务,并且在特定场景(例如游戏模拟)中近似可能是完全有效的解决方案。

我已经提供的博客链接包含有关该主题的平易近人的文章,如果您想深入了解,还可以参考进一步阅读。