Algorithm 在其他多边形中查找最大空矩形的算法

Algorithm 在其他多边形中查找最大空矩形的算法,algorithm,computational-geometry,Algorithm,Computational Geometry,场景:有一个矩形空间,其中有任意放置的任意方向的多边形。其目的是找到可以在矩形空间的空白区域内拟合的最大空白矩形。下面的这些图像用蓝色的多边形和虚线来说明场景,虚线表示可以在每个场景中拟合的最大空矩形 问题:显然,寻找最大的空矩形是计算几何中的一个难题,但我在这一领域找到的算法涉及在点(CGAL实现了这一点)和线段之间寻找空矩形。有没有办法使这些现有技术适应我的场景?或者有更简单的方法吗?不幸的是,我所熟悉的大多数计算几何文献似乎都对算法进行了漂亮的描述,并证明了它们的正确性,而没有实际提供

场景:有一个矩形空间,其中有任意放置的任意方向的多边形。其目的是找到可以在矩形空间的空白区域内拟合的最大空白矩形。下面的这些图像用蓝色的多边形和虚线来说明场景,虚线表示可以在每个场景中拟合的最大空矩形


问题:显然,寻找最大的空矩形是计算几何中的一个难题,但我在这一领域找到的算法涉及在点(CGAL实现了这一点)和线段之间寻找空矩形。有没有办法使这些现有技术适应我的场景?或者有更简单的方法吗?

不幸的是,我所熟悉的大多数计算几何文献似乎都对算法进行了漂亮的描述,并证明了它们的正确性,而没有实际提供实现。也许这是因为实现通常都比较复杂

你没有提到你能容忍多大程度的不准确。如果你有点宽容,这个答案是给你的

我的建议是你把这个难题变成一个更容易的问题

  • 多边形集合的
  • 将边界框划分为栅格。网格越细,精度越高,但找到解决方案所需的时间越长
  • 每个栅格单元(铸造为矩形多边形)与多边形集相交的面积
  • 如果重叠足够(大于您指定的某个最小值),请将网格单元标记为零;否则,用1标记它
  • 现在有了一个由0和1组成的矩形数组。这构成了更简单问题的基础:完全由1组成的网格的最大矩形子集是什么?

  • 这个更简单的问题在互联网上有许多可访问的解决方案(例如,,)

    你链接的谷歌结果中的第五个链接可能对你有用。因为它们也处理可能有洞的多边形。这些洞就是你的多边形。所以试试看:@Trilarion谢谢你,看起来很有希望!