我有一个矩形区域,其中有等半径的圆。我想找出哪些圆与其他圆重叠(输出是重叠圆的2元素集合列表)。
我知道如何检查两个圆是否重叠(它们中心之间的距离小于直径)。我可以对每对圆执行此检查,但我想知道是否有更好的算法(比O(n^2)更快)。
编辑
圆的数量通常约为100,重叠不会经常发生。
这是一些上下文:矩形是游戏中的战场。单位的移动是在小步骤中完成的,我正在尝试检测单位之间的碰撞。
我知道如何检查两个圆是否重叠(它们中心之间的距离小于直径)。我可以对每对圆执行此检查,但我想知道是否有更好的算法(比O(n^2)更快)。
编辑
圆的数量通常约为100,重叠不会经常发生。
这是一些上下文:矩形是游戏中的战场。单位的移动是在小步骤中完成的,我正在尝试检测单位之间的碰撞。