輪郭の作成に問題があります。三角形メッシュと平面の交点から輪郭を作成
したい私は、STLファイルは多くの側面を含む、STLファイルを有する線はorder.Iにないただし平面(Z=dz,x=y=0)
を切断するとファセットと交差することにより、我々は各増分Z.
のラインのアレイを有しますそれらを並べ替えて接続して、閉じた輪郭または連続したパスを形成します。この問題を解決するためのプログラムやコードを教えてください。
輪郭の作成に問題があります。三角形メッシュと平面の交点から輪郭を作成
したい私は、STLファイルは多くの側面を含む、STLファイルを有する線はorder.Iにないただし平面(Z=dz,x=y=0)
を切断するとファセットと交差することにより、我々は各増分Z.
のラインのアレイを有しますそれらを並べ替えて接続して、閉じた輪郭または連続したパスを形成します。この問題を解決するためのプログラムやコードを教えてください。
RockとWozny(1)が提示した輪郭作成のためのMarchingアルゴリズムでこれを行うことができます。アイデアは非常に単純です。あなたは顔から隣の顔に向かって行進し、共通のエッジで交差を決定し、次の隣に進みます。あなたは、開始面に達するまでこれを繰り返します。そうすれば閉じた輪郭を構築できます。それぞれの高さフラグに対して、より多くの輪郭がある場合のために辺を訪れた。
マーチングアルゴリズム、ソースは:アルゴリズムが機能するためには(1)
、あなたはメッシュのトポロジー情報を持っている必要があります。各 の面は、3つの隣接面と3つのエッジを参照する必要があります。各エッジは、その2つの頂点とそのエッジ(1)を定義する2つの面を で参照する必要があります。その情報をSTLファイルから取得する方法については、(2)を参照してください。
源:
(1)スキャンベクトル生成効率を高めるために位相情報を利用します。ロックおよびウォズニー(行進アルゴリズム)
(2) "ファセットのバケット"からトポロジ情報を生成する。 Rock and Wozny、1992(STLファイルからトポロジを作成する方法)