获得一组随机(最多约40个,不是很多)矩形的“最终”边界框有什么好的,快速的方法?最后,我的意思是所有边界框都不与任何其他框相交。
编辑:我的第一个例子是错的。我正在寻找的结果是一组rects,其中每个组在重叠时形成实体几何;他们不是分开的。因为每次都是随机的,并且矩形计数相对较小,所以使用空间散列的碰撞检测看起来有点过分。有没有办法更有效地做到这一点?
另一个例子:A,B和C有3个.A与B相交,但不与C相交.C与B相交。这些应该被认为是1组,因为它们形成一个几何。
答案 0 :(得分:0)
您可以比较当前之后的每个矩形。例如。如果你有和数组[A,B,C]
如果比较A,B,则不需要比较B,A或B,B只需比较B,C。如果没有其他改变,这将减少迭代次数。
您可以通过在outter的当前索引处启动内部for循环来完成此操作。