确定所需的盒子大小

时间:2016-08-05 14:05:26

标签: math bin-packing

我正在尝试计算包装较小的矩形所需的大矩形。较小的矩形具有固定的已知尺寸,而大矩形具有固定的宽度。

在图像中,6个矩形可以适合初始w和高度h1的大矩形。现在如果给出更小的矩形,我如何确定高度h2,h3,h4。

我最初进入垃圾箱包装路线,但这并没有真正帮助,因为它主要关注多少个较小的矩形可以适合一个大的,但我需要多少尺寸(高度)来适应一定数量的较小框。

sample image sample image sample image

我如何找到高度h2,h3和h4。

w =原始矩形的宽度 h1 =原始矩形的高度

w和h1给出300,400 bh =小矩形高度 bw =小矩形宽度

bh和bw对于所有矩形是相同的并且给出40,40

sb =小方框的数量

在此示例中提供了三个不同的集合,对于每个集合,需要计算保存小矩形所需的框的所需高度

  • 对于sb为6的第一组,我需要找到h2
  • 对于sb为7的第二组,我需要找到h4
  • 对于sb为8的第三组,我需要找到h3

1 个答案:

答案 0 :(得分:1)

对我来说还是有点不清楚。但这是试图回答你的问题。

适合单行的方框数为:

boxesInRow = floor(w / bw)

为了适应n框,您需要以下行数:

rows = ceil(n / boxesInRow)

然后这个大盒子的高度就是:

height = rows * bh

现在是我不确定的部分。你说sb是盒子的数量。但是,对于第一张图像(h2),您说sb应该是6,但我计算9个盒子。显然,你忽略了第一行。如果确实如此,最终的公式是:

height = bh * (rows + 1)
       = bh * (ceil(sb / floor(w / bw)) + 1)