質問は本当に簡単です。ランダムなサイズの正方形 (幅、高さ) の配列と固定幅の面があります。この面に正方形を配置するための最も効率的なアルゴリズムは何ですか? 正方形の間に無駄な隙間があってはなりません。それはまったく可能ですか?AIや重い処理を使わずに?
この写真に似たものですが、私のサーフェスは下部が制限されておらず、幅が固定で高さが制限されていないサーフェスであると仮定します。
質問は本当に簡単です。ランダムなサイズの正方形 (幅、高さ) の配列と固定幅の面があります。この面に正方形を配置するための最も効率的なアルゴリズムは何ですか? 正方形の間に無駄な隙間があってはなりません。それはまったく可能ですか?AIや重い処理を使わずに?
この写真に似たものですが、私のサーフェスは下部が制限されておらず、幅が固定で高さが制限されていないサーフェスであると仮定します。
この問題は 2d ビン パッキングと呼ばれます。これに取り組む方法は次のとおりです。
このタイプの最適化問題は、線形計画法 (線形最適化)として知られています。悪いニュースは、それが複雑だということです。
シンプレックス アルゴリズム代数法を見てみましょう。より一般的な数値法があり、内点法を検索します。
次のような無料のライブラリがあります: LP_SOLVE
そのような場合は、シートにできるだけ多くの正方形をパックしようとするBin Packing Problemのバリエーションを使用するか、または (おそらくより適切と思われる) Cutting Stock Algorithmを使用することができます。
ただし、どちらの場合も、正方形の間に隙間がない可能性は非常に低いことに注意してください。