さまざまな量の正方形のアイテムに合わせたい長方形の領域があります。問題を解決するための画像を次に示します。
アイテムの幅/高さ (Bw/Bh) を計算するフォーミュラーを手伝ってくれる人はいますか?
√(WxH/N)を試してみました。
しかし、W = 1400、H = 380、N = 16 の例では、182 が得られました。しかし、1400/182 では、ボックスの幅は 7.7、高さは 2.08 しか得られません (乗算すると 16 になりますが、領域内に収まるようにする必要があります)。 .
何か案は?
編集:
私が本当に知る必要があるのは、縦横比と、アイテムに対応するグリッドを作成する方法に基づいていると思います。たとえば、254 x 133 で下の 16 ボックスは 6 x 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/を参照してください。私はまだより良い方法があると確信しています。