我有一個矩形區域,我想要適應一定數量的sqaure項目。這是一個圖像來幫助解決這個問題。網格視圖高度/寬度公式
誰能幫我用公式推來計算項目的寬度/高度(BW/BH)?
我試過√(WxH/N)。
但是用W = 1400,H = 380,N = 16的例子給了我182.但是1400/182只給出7.7格寬和2.08高(乘以16我得到它,但我需要它們以適合在區域內)。
任何想法?
編輯:
越來越近,我認爲我真正需要的是根據各地的長寬比以及如何制定出適合的項目一格就知道了。例如。下面254 X 133 16個箱是6由3
編輯:
現在我已經寫了下面的代碼工作出網格(JavaScript的)。問題在於它使用了跟蹤和錯誤方法。
var W = 254,
H = 133,
N = 16,
Bh = H;
while(((Math.floor(W/Bh)) * (Math.floor(H/Bh))) < N){
Bh--;
}
alert('Columns: '+Math.floor(W/Bh)+', Rows: '+Math.floor(H/Bh)+', Bow width: '+(Bh));
請參閱http://jsfiddle.net/GVp4X/來測試代碼。我仍然確定有更好的方法。
爲什麼7.7差?你爲什麼會認爲一定數量的盒子總是能很好地適應任何矩形? – 2012-07-29 13:27:40
應該說,如果有剩餘的空間,我不會感到困擾,那裏幾乎總會有,但我可以將盒子居中。 – Ben 2012-07-29 13:43:10