假设我们有两个不相交的凹二维多边形(A,B)。问题是找到一组边对(每对由多边形A的一条边和多边形B的边组成),它们具有以下属性:对中的每个项必须彼此可见。如果没有障碍物(在图片中有三个案例,在这个规则被破坏的情况下用红十字标记),它们可以看到另一个边缘。
我知道如何使用光线和边缘顶点在O(n ^ 2)中解决这个问题。但它太慢了。
答案 0 :(得分:6)
我认为它不能比O(n ^ 2)更快地完成。
见下图。有一个双曲线和两个多边形。每个多边形的顶点都在双曲线的分支上。
在这种情况下,两个多边形的边缘是成对可见的(除了后面的两个边缘)。然后,结果集将包含O(n ^ 2)个边对。