多边形包装2D

时间:2010-03-26 22:17:22

标签: algorithm dynamic-programming packing computational-geometry

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

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

2 个答案:

答案 0 :(得分:1)

参数空间似乎并不太大,测试它也不是太糟糕。如果修复一个多边形,则另一个ploygon可以沿x轴移动X,然后沿y轴移动Y并旋转r。

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

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

答案 1 :(得分:0)

如果NP-complete那么你需要启发式算法,而不是算法。我会尝试将每对可能的一对放在一起然后相互滑动以最小化区域,如果它们当然是凹的则可能会重叠。