Math 确定所需的盒子大小
我正在计算一个大矩形的大小,它需要用来装小矩形。小矩形有固定的已知大小,大矩形有固定的宽度 在图像中,6个矩形可以适合初始Math 确定所需的盒子大小,math,bin-packing,Math,Bin Packing,我正在计算一个大矩形的大小,它需要用来装小矩形。小矩形有固定的已知大小,大矩形有固定的宽度 在图像中,6个矩形可以适合初始w和高度h1的大矩形。现在,如果给出更多的小矩形,我如何确定高度h2,h3,h4 我最初选择了装箱路线,但这并没有真正起到帮助作用,因为它主要关注的是有多少个较小的矩形可以容纳一个较大的矩形,但我需要多少尺寸(高度)才能容纳一定数量的较小的盒子 如何找到高度h2、h3和h4 w=原始矩形的宽度 h1=原始矩形的高度 w和h1的值为300400 bh=小矩形高度 bw=小矩
w
和高度h1
的大矩形。现在,如果给出更多的小矩形,我如何确定高度h2,h3,h4
我最初选择了装箱路线,但这并没有真正起到帮助作用,因为它主要关注的是有多少个较小的矩形可以容纳一个较大的矩形,但我需要多少尺寸(高度)才能容纳一定数量的较小的盒子
如何找到高度h2、h3和h4
w=原始矩形的宽度
h1=原始矩形的高度
w和h1的值为300400
bh=小矩形高度
bw=小矩形宽度
bh和bw对于所有的矩形都是一样的,比如说40,40
sb=小盒子的数量
本例中提供了三个不同的集合,对于每个集合,需要计算容纳小矩形所需的盒子高度
- 对于sb为6的第一组,我需要找到h2
- 对于sb为7的第二组,我需要找到h4
- 对于sb为8的第三组,我需要找到h3
- 我还是有点不清楚。但这里有一个尝试来回答你的问题
适合一行的框数为:
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)
我不完全明白。你的意思可能不仅仅是
h=bh*ceil(numberofbox/floor(w/bw))
?请澄清你的问题。输入是什么,输出是什么?我做了一些解释,看看编辑帮助为什么第一行小框不计入sb
?如何区分h3
和h4
,即为什么最后一个框不在前一行?我已经分割了图像,现在更清楚了是sb
对于第一个框是6,因为大矩形(容器)是黑色矩形,具有高度h1
,现在第一张图片的问题是,如果在容器顶部添加3个小盒子,那么所需的新高度是多少。哪个参数存储3?