2016-08-05 6 views
-1

私は小さなものをパックするのに必要な大きな矩形を計算しようとしています。小さい方の矩形はサイズを知っていて大きな矩形は固定幅です。ボックスサイズを決定する

イメージでは、6つの矩形が、最初のwと高さがh1の大きな矩形に収まります。今、より小さな四角形を与える場合、どのように高さh2、h3、h4を決定するのですか?

私は最初、ビンの梱包ルートに行ったが、これは主に大きな1つに収まる小さな矩形の数に主に焦点を当てていたので、これは本当に助けにはならなかった。小さな箱。私は高さH2、H3、およびH4を見つけるにはどうすればよい

sample image sample image sample image

。元の矩形の元の矩形の幅 H1 =高

wおよびH1が与えられ= W

300、400 BH =小さな長方形の高さ BW =小さな長方形は

BHとBWが幅言いますすべての矩形について同じと与えられている40、40

SBは=小箱の数

三つの異なるセットは、このEXに設けられていると言います十分な、それぞれに対して小さな長方形を保持するために必要なボックスの必要な高さが6としてSBした第1のセットのため

  • を計算する必要がある、私はその第二のセットのため
  • H2を見つける必要が設​​定さ7としてSBた、私は8としてSBた第三のセットのために
  • H4を見つける必要があり、私はまだ、H3
+1

完全にわかりません。おそらく 'h = bh * ceil(numberOfBoxes/floor(w/bw))'を意味するのではないでしょうか?問題を明確にしてください。インプットは何ですか、どのアウトプットを期待していますか? –

+0

私はいくつかの説明をしました。編集に役立つかどうか確認してください – Smith

+0

小さなボックスの最初の行はなぜ 'sb'に数えられませんか?あなたは 'h3'と' h4'をどうやって区別しますか?すなわち、前の行にない最後のボックスはなぜですか? –

答えて

1

それは `sの私には少し不明瞭を見つける必要があります。しかしここにあなたの質問に答えてみてください。

一列に収まるボックスの数は次のとおりです。

nボックスをフィットさせるために
boxesInRow = floor(w/bw) 

、次の行の数が必要です。

rows = ceil(n/boxesInRow) 

そして、これの高さを大きい箱はそれからちょうどある:

height = rows * bh 

私は確信していない部分が来る。箱の数はsbと言います。しかし、最初の画像(h2)については、sbは6でなければならないと言いますが、私は9箱を数えます。だから、明らかに、最初の行を無視します。実際にそうである場合、最終的な公式は次のようになります。

height = bh * (rows + 1) 
     = bh * (ceil(sb/floor(w/bw)) + 1) 
+0

はい、最初のボックスでは 'sb'が6です。大きな矩形(コンテナ)は高さが' h1'の黒い矩形であるため、もし3つの小さな箱が容器の上に追加された場合、必要な新しい高さ 'h2'はどうなるでしょうか? – Smith

+0

いいえ、実際はありません。どのパラメータに3が格納されていますか? –

関連する問題