2016-07-25 19 views
0

私は、各領域が互いに意味のない要素を持つように、ポリゴンを領域(大きなポリゴン)に分割するという問題に直面しています。例えばポリゴンを既存の領域に分割/分割する方法は?

enter image description here
、我々は次の地域/多角形を持っています。ある時点では、1つの領域の形式しかわかりません(今はR1としましょう)。 L3がR1に属することは明らかです。 L1、L2、P1はどうですか? 私はそれらの周りにバウンディングボックスを作成し、南東座標(minXとminY)がR1に属するかどうかを確認しました。 このようにL1はR2に属しますが、R2を横切らないにもかかわらずです。

このようなアルゴリズムや、この空間分離の問題を解決する方法については、具体的な検討が必要ですか?

+0

新しい領域の存在の仕方を詳しく説明できますか。すべての地域は初めに与えられていますか?リージョンの境界で要素を分割したいのですか、そこにあるのは何ですか? – gue

+0

小さなポリゴンで結合を実行すると、領域が表示されます。私は利用可能なすべての小さなポリゴンを持っていますが、 "領域"は個別に処理する必要があります。私は要素を分割/カットするのではなく、要素(L1、L2、L2など)がR1に属しているかどうかを言うことは多かれ少なかれです。それらの地域の中にある要素については、彼らが属するべきであることは明らかですが、国境を越えるものはどのように扱われるべきですか? – danimihalca

+0

申し訳ありませんが、それはまだ私には分かりません。したがって、より大きなポリゴンを領域に分割します。 R1、R2、R3、R4が同じ大きなポリゴンの内側の領域であると仮定できますか?このパーティショニング(黒い点線/実線)は、ボロノイ図のように見えます。その場合は、内部の要素で同じパーティショニングを使用しないでください。すなわち、要素を追加して図を更新する。さもなければ、あなたがパーティションを持っているならば、あなたは各領域から交差するオブジェクトを参照することができます。 – gue

答えて

0

リージョンとポリゴンがすべてポリゴン(離散した頂点のシーケンス)として記述されている場合は、使用可能なポリゴンクリッピングテクニックを使用できます。特に

サザーランド-Hodgmanワイラー・アサートン技術を見てみましょう。

スキャンライン技術を使用して、ウィンドウの前処理が許可されている場合(同じウィンドウに対して複数のポリゴンがある場合)、最適化が可能です。これは少し洗練されたものです。

線分実体の場合が少し簡単です。

関連する問題