四角形のサイズを自分で割り当てることができるため、これは正確にパッキングされているわけではありません。パックされた結果が必要なだけです。私は同じ比率と異なるサイズの長方形を持っています
FULL、
HALF(面積= 1/4 * FULL)、
QUARTER(面積= 1/4 * HALF)。
すべてが水平方向にのみ配置されます。コンテナの幅は FULL の 3 倍で、高さは長方形に合わせて調整されます。
配列(フル、ハーフ、クォーター)からランダムなサイズが与えられる150個の長方形があります。これらの長方形をコンテナーに配置して、隙間がないようにします。
コンテナーと四角形は HTML DIV です。それらをパックするために JavaScript を使用しています。
ここにフィドルがありますhttp://jsfiddle.net/MywQ2/1/
上記のコードでは、現在のボックスに応じて次のボックスの選択を制限しようとしました。
よくわからないかもしれませんが、もう一度説明します。私は 150 個のボックスを持っています。コンテナに 150 個のボックスを入れたいだけです。サイズはフル、ハーフ、クォーターのいずれかでランダムにする必要があります。また、ランダムに選択されたサイズを拒否し、ギャップが生じることが判明した場合は別のサイズを取得することもできます。