我正在寻找一种算法,可以帮助在较大的矩形内分布不同大小的矩形,同时最大限度地减少重叠。
我看过bin打包算法,但它们似乎最小化了矩形之间的空间量(在我的情况下,所有打包的项目都是正方形)。
我想我想最大化所有正方形和外部矩形边界之间的距离。
这是我想要做的一个例子:
答案 0 :(得分:1)
如果您使用the one described here之类的算法尽可能紧密地打包它们,然后均匀展开以匹配目标封闭矩形怎么办?
例如,假设您可以将上面的3个矩形打包到3x2
框中,外框为7x5
。然后将矢量从框的中心到中心到每个矩形,并将x分量乘以(7/3)
,将y分量乘以(5/2
),然后得到新的中心。
答案 1 :(得分:-2)
这似乎是对Knapsack Problem。
的概括动态编程将在接近多项式时间内解决它。