我正在寻找一种非常简单的算法来检测两个三维三角形的碰撞,它们可以不断移动(如果也可以加速则更好)。我找到了解决这个问题的方法,但是这很难解决两个三维三角形的移动问题。
最佳答案
首先澄清一些术语:
Intersection detection will tell you if two things are intersecting.
Collision detection will tell if two things will collide.
这里有区别。如果一个对象 [多边形 A] 快速移动,并且您正在使用相交测试,它可能不相交,移动经过多边形 B,然后在另一侧,同样不相交。
另一方面,碰撞检测会说“多边形 A 将与多边形 B 发生碰撞”。两者之间存在细微差别,因此说“碰撞......有一些运动”有点多余。
进行碰撞检测最直观的方法是在时间步长的过程中扫除多边形,并与生成的多边形进行相交测试。
无论如何:
This page包含很多关于确定两个形状是否相交的信息。
This page专门介绍射线、平面和三角形,并包含源代码。
关于c++ - 具有一定运动的 3D 三角形碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116733/