2016-08-05 7 views
1

私は、BlenderやMayaのような3Dアプリケーションからエクスポートされたファイルを持っています。私はファイルを読むことができます。私は、各三角形と頂点リストを記述するインデックスで終わります。3Dメッシュで接続された三角形を見つける方法

ファイルには、複数の接続メッシュ、たとえば2つの球体を含めることができます。私は、接続された三角形を見つけることによって個々のメッシュを選択したい。これを行う最善の方法は何ですか?どの幾何学アルゴリズムを使用できますか?どんな例?マルチスレッド化できますか?

+0

これは、メッシュをシーングラフ内のノードに分割し、エクスポート時にシーン全体を1つのノードにまとめないようにすることで、より効果的です。 – samgak

+0

真。しかし、私はすべてのファイルを執筆することができないので、それを保証することはできません。私ができることは情報を抽出することだけです。 3dパッケージには、connectredまたはlinked選択コマンドがあります。彼らがどのようにそれをやっているのだろうか。 – user6682440

+0

接続されていることは、少なくとも頂点または交差で共有していることを意味しますか?最初の場合は、各頂点の隣接情報を生成し(ハッシングを使用しますか?)、任意の頂点から順番に探索を行い、訪れたときにvertsをマーキングします。 – samgak

答えて

2

グラフソリューションが必要です。

すべてのデータを取ると、頂点はグラフのノードになり、頂点をリンクするエッジはグラフのノードをリンクします。訪問したすべてのノードをマークするDSF/BFSを実行します。マークされたすべてのノードは同じオブジェクトに属します。

マークされていないノードから開始して、もう一度オブジェクトを検索してください。

もっと簡単だと思うとグラフを並行して作成できますが、幾何学的なデータでもグラフを作成できるはずです。

関連する問題