java processing 3(2d)中更好的碰撞检测算法?

n53p2ov0  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(619)

我的程序包括不断增加的对象数“n”,每个对象都有一个自定义的形状和坐标。为了检测每个物体的碰撞,我检查了它和所有其他物体之间的距离,以检查它是否足够接近碰撞。然而,这会使复杂性过高n^(n-1)。对于简单的二维物体,如圆和三角形,有什么更好的碰撞检测算法-由顶点和pshape制作的服装对象?

ma8fv8wu

ma8fv8wu1#

简而言之:将你的世界空间分割成多个空间,然后只检查同一空间中的对象。这样想:如果你有一个在左上角的对象,你不必对照右下角的对象来检查。只有左上角的其他对象。
有很多方法可以实现这一点。最常用的方法之一是称为四叉树的数据结构。
另一种方法是使用一个物理库来为您执行所有的碰撞检测。
如果你只是在做一些简单的事情,那么以上两种方法可能会有点过头,所以这完全取决于你自己。

相关问题