【问题标题】:Polygon packing 2D多边形包装 2D
【发布时间】:2011-02-01 09:32:46
【问题描述】:

我有打包 2 个任意多边形的问题。 IE。我们有 2 个任意多边形。当包围这个多边形的矩形面积最小时,我们要找到这个多边形的这样放置(我们可以进行旋转和移动)。

我知道,这是一个 NP 完全问题。我想选择一种有效的算法来解决这个问题。我正在寻找 No-Fit-Polygon 方法。但是我在任何地方都找不到找到两个任意多边形的 NFP 的简单明了的算法。

【问题讨论】:

  • 我不明白这句话“我们要找到这个多边形的这种位置(我们可以进行旋转和移动),当包围这个多边形的矩形面积最小时。”你能澄清一下吗?

标签: algorithm dynamic-programming packing computational-geometry


【解决方案1】:

如果它是 NP 完全的,那么您需要启发式算法,而不是算法。我会尝试将每一对可能的边放在一起,然后将一个边滑动到另一边以最小化面积,如果它们当然是凹面的,则会受到可能重叠的限制。

【讨论】:

    【解决方案2】:

    参数空间似乎不是太大,测试它也不错。如果你固定一个多边形,另一个多边形可以沿 x 轴移动 X,沿 y 轴移动 Y 并旋转 r。

    可以通过为多边形找到一些边界框来确定 X 和 Y 的有趣区域。 r 当然是在 360 度和 360 度之间。

    那么,您如何在 X、Y 和 r 的有趣范围内尝试一组等距间隔。也许,一旦你在这些维度中找到了有趣的点,你就可以进行更细粒度的搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-24
      • 2010-12-19
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      相关资源
      最近更新 更多