3
我有一个单独的大矩形dimensions L*W
和n smaller rectangles
,它们每个都具有相同的尺寸l * w
。每个小矩形都有相同的dimensions
。将等长矩形放入较大的矩形中
我的目标是将所有n of smaller
矩形放入大矩形中,同时尽可能地在大矩形中最有效地使用空间。只要比例保持不变,w和w就可以根据需要放大或缩小。
如何确定如何缩放较小的矩形以适合全部大矩形?
我有一个单独的大矩形dimensions L*W
和n smaller rectangles
,它们每个都具有相同的尺寸l * w
。每个小矩形都有相同的dimensions
。将等长矩形放入较大的矩形中
我的目标是将所有n of smaller
矩形放入大矩形中,同时尽可能地在大矩形中最有效地使用空间。只要比例保持不变,w和w就可以根据需要放大或缩小。
如何确定如何缩放较小的矩形以适合全部大矩形?
这里是查找的缩放因子的最大值的算法F
使得所有小a x b
矩形,由F
缩放将适合在含有矩形A x B
时:
对于每一对(p, q)
正整数,使得
p <= n
q <= n
n = p * q - r
对于某个整数r >= 0
满足r < p
或p < q
计算f = min(A/(a*p), B/(b*q)).
F
是最大的所有因素f
在1所有对(p, q)
的计算来计算可按以下步骤进行:
p := 0
p := p + 1
p > n
,停止q := n + p - 1/p
(整数除法)。下一对(p, q)
。思想的算法的
每对(p, q)
表示缩放矩形与水平行中p
矩形和q
行,最后一个特定布局一个可能不完整。下面是n = 13
写成3 * 5 - 2
一个例子:
由于p
缩放的宽度f*a
矩形必须适合的宽度A
长方形,我们有:p*f*a <= A
或f <= A/(p*a)
。同样f <= B/(q*b).
因此,此配置的最大比例是min(A/(p*a), B/(q*b)).
您是否将所有小矩形缩放了相同的因子? – 2015-02-24 14:27:44
@LeandroCaniglia是的,这正是我的意思。 – Joseph 2015-02-24 18:53:22