2016-12-29 12 views
-2

メッシュと平面の交差を計算しました。出力として、線分の配列が得られ、線をレンダリングすると交差点の輪郭が得られます。今私は輪郭で囲まれた領域を埋めることを望みます。私が直面している問題は、線分が特定の順序でないことです。私はレンダリングのためにOpenGLを使用しています。線分で塗りつぶし輪郭を作成

+1

閉じた線ループに順番に並べ、結果のポリゴンを三角形分割します。幾何学的操作を実行することは、OpenGLがあなたのためにするものではありません。 – BDL

+0

同じことをするためのいくつかの高速アルゴリズムをお勧めしますか?私は、この問題で私を助けることができるOpenGLのテッセレーションに似たいくつかのコンセプトがあることを望んでいた – user1919600

+0

誰かがこの質問に間違って投票していると私に教えてくれますか? – user1919600

答えて

1

VTKのようなジオメトリ処理にC++ライブラリを使用できます。

閉じたメッシュと平面を交差させると仮定すると、1つ以上の閉じたポリラインを取得する必要があります。あなたは、以下の手順に従うことによって、あなたが欲しいものを得ることができます。

  • まず、あなたはポリライン閉じ連続したポリラインまたは複数のセットを作成するには、重複している点をマージする必要があります。これは、使用する許容誤差に基づいて誤ったものになります。しかし、それはジオメトリ処理の一部とパーセルです。
  • 第2に、Delaunay三角形分割(vtkDelaunay2D)のような三角形分割アルゴリズムに個々のポリライン(閉ループ)を渡す必要があります。また、ポリラインの線分を出力三角形分割の制約として渡す必要があります。

問題は、ポリラインを塗りつぶしているうちに、どちらの側が内側か外側のどちらかがわかりにくいため、すべての場合に機能しないことです。しかしそれは出発点です。

もう1つのより堅牢なアプローチは、オブジェクトとの交差点を計算しながら面の密なメッシュを使用することです。交差点では、平面メッシュの頂点がオブジェクトの内側か外側かを計算できます。このようにして、どの領域を埋めるかを追跡することができます。

関連する問題