巨大な2次元座標系にモジュールを配置した制御システムをお届けします。
寸法が少なくとも最小の高さと幅である使用可能なスペースを見つけることができるアルゴリズムが必要です。「利用可能」とは、「リストにポイントが含まれていない」ことを意味します。また、アルゴリズムによって返された長方形と交差してはならない長方形のリストをアルゴリズムが受け入れることができれば有利です。
次のアルゴリズムを試してみましたが、うまくいきません。
- 以前に返された候補の四角形または以前に却下された領域にない候補点を選択しました。
- 最小幅に達するまで水平方向に拡大します。
- 最小の高さに達するまで垂直に成長します。
- この時点で、これは承認された候補の四角形ですが、さらに大きくなる可能性があります。
- できるだけ水平に伸ばします。
- できるだけ縦に伸ばします。
- 承認された長方形を返します。(ポイント 2 または 3 が失敗した場合、これまでにカバーされた領域は却下されます。
このためのより良いアルゴリズムを提案できる明るい頭はありますか? (編集:長方形は軸が揃っていることに注意してください)