2
最小数の長方形で凹多角形を覆う
最小の長方形で単純な凹面多角形をカバーしようとしています。長方形の長さは任意ですが、最大の幅があり、多角形が鋭角になることはありません。 私は凹型ポリゴンを三角形に分解して、各三角形を最小限に制限する一連の最小重複長方形を生成し、それらの長方形をより大きな長方形にマージしようと考えました。ただし、これはポリゴンのエッジの小さなノッチでは機能しないと思います。これらのノッチの反射頂点によって作成された三角形は、間違った長方形を作成します。ノッチにまたがる/無視する長方形を探しています。 計算幾何学については本当に何も知らないので、どのように質問を始めればよいのかよくわかりません。 私は似ている他の投稿を見つけましたが、必要なものではありません: ポリゴンを最小量の長方形と三角形に分割します 最小数の正方形で任意のポリゴンをカバーする 見つける kkk 最大数のポイントをカバーする長方形 長方形のセットをカバーする最小の長方形を見つけるためのアルゴリズム いくつかの例:黒は入力です。赤は許容可能な出力です。 別の例:2番目の出力が優先されます。ただし、両方の出力を生成し、別の要因を使用して優先度を決定することがおそらく必要であり、このアルゴリズムの責任ではありません。 曲線を模倣するポリゴンは非常にまれです。このシナリオでは、長方形の領域の多くが無駄になります。ただし、各長方形は最大幅の制約に従うため、これは許容されます。 また、私はこの記事が必要なものに近いことを発見しました。 Paul Iacob、Daniela Marinescu、およびCristina Lucaによる長方形の作品 たぶんより良い質問は、「凹面多角形の長方形のような部分をどのように識別できますか?」です。 目的の実装を示す画像を次に示します。 緑は実際の材料使用量です。赤い長方形はレイアウトです。青はポリゴン全体のMBRです。少しMBRを取得して埋めようとする必要があると考えています。ポリゴンの中央で終わる左上隅の2〜3個の緑色の長方形は高価です。それが最小化したいものです。緑の長方形には最小と最大の幅と高さがありますが、領域をカバーするために必要な数の行と列を使用できます。繰り返しますが、入力にまたがらない長方形の数を最小限に抑える必要があります。また、非常に高価な小さな場所に収まるように緑色の長方形の形状を変更することもできます。言い換えれば、できるだけ多くの長方形をできる限り広げることが理想的です。