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