在区域中拟合2D多边形的算法?

时间:2009-12-01 08:13:45

标签: algorithm polygon area

这有标准吗?算法名称?

说: 我有10个不同大小的多边形。 我有一个特定大小的区域。

我想知道如何填充该区域中的大多数多边形以及它们的拟合方式。

注意: 可以根据限制集旋转多边形。

3 个答案:

答案 0 :(得分:5)

一个可能的名称是Packing Problem。它与Knapsack Problem有关。这些问题往往是NP难的,很多都需要启发式。如果您可以约束允许的多边形和区域形式,则可能存在针对您的特殊情况的更有效的算法。

答案 1 :(得分:2)

你可以看一下维基百科中的“Dancing Links”,看看Donald Knuth对确切封面问题的解决方案 - 其中包括平铺 - 你的问题可以看作是一个平铺问题

答案 2 :(得分:1)

IF(这是一个很大的问题)你的所有多边形都是矩形,它们适合的区域也是一个矩形,然后这将被称为bin-packing,谷歌将用这方面的信息压倒你。如果他们不是那么我猜你正在寻找一个bin-packing的变种,我想还有一些你是NP问题,其中'try and test'是关于最好的算法。