2011-07-13 37 views
3

輪郭の作成に問題があります。三角形メッシュと平面の交点から輪郭を作成

したい私は、STLファイルは多くの側面を含む、STLファイルを有する線はorder.Iにないただし平面(Z=dz,x=y=0)を切断するとファセットと交差することにより、我々は各増分Z.

のラインのアレイを有しますそれらを並べ替えて接続して、閉じた輪郭または連続したパスを形成します。この問題を解決するためのプログラムやコードを教えてください。

答えて

0

RockとWozny(1)が提示した輪郭作成のためのMarchingアルゴリズムでこれを行うことができます。アイデアは非常に単純です。あなたは顔から隣の顔に向かって行進し、共通のエッジで交差を決定し、次の隣に進みます。あなたは、開始面に達するまでこれを繰り返します。そうすれば閉じた輪郭を構築できます。それぞれの高さフラグに対して、より多くの輪郭がある場合のために辺を訪れた。

Marching algorithm, source: (1)

マーチングアルゴリズム、ソースは:アルゴリズムが機能するためには(1)

、あなたはメッシュのトポロジー情報を持っている必要があります。各 の面は、3つの隣接面と3つのエッジを参照する必要があります。各エッジは、その2つの頂点とそのエッジ(1)を定義する2つの面を で参照する必要があります。その情報をSTLファイルから取得する方法については、(2)を参照してください。

源:

  • (1)スキャンベクトル生成効率を高めるために位相情報を利用します。ロックおよびウォズニー(行進アルゴリズム)

  • (2) "ファセットのバケット"からトポロジ情報を生成する。 Rock and Wozny、1992(STLファイルからトポロジを作成する方法)

関連する問題