Main Content

featureEdges

表面の三角形分割の鋭いエッジ

説明

F = featureEdges(TR,theta) は、角度 theta に従って 2 次元三角形分割の特徴エッジを返します。この関数は通常、表面メッシュ プロットの鋭いエッジを抽出するために使用します。

すべて折りたたむ

表面の特徴エッジを検出してプロットします。

2 次元 Delaunay 三角形分割を作成します。

x = [0 0 0 0 0 3 3 3 3 3 3 6 6 6 6 6 9 9 9 9 9 9]';
y = [0 2 4 6 8 0 1 3 5 7 8 0 2 4 6 8 0 1 3 5 7 8]';
DT = delaunayTriangulation(x,y);
T = DT.ConnectivityList;

三角形分割に高度を追加して表面を作成し、その表面をプロットします。

z = [0 0 0 0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0]';
trisurf(T,x,y,z,'FaceColor','cyan') 
axis equal

Figure contains an axes object. The axes object contains an object of type patch.

高度をもつ表面に新しい三角形分割を作成し、π6 のフィルターの角度を使用して特徴エッジを計算してプロットします。

TR = triangulation(T,x,y,z);
F = featureEdges(TR,pi/6)';
plot3(x(F),y(F),z(F),'k','LineWidth',1.5); 
axis equal

Figure contains an axes object. The axes object contains 24 objects of type line.

入力引数

すべて折りたたむ

2 次元三角形分割限定の三角形分割の表現。スカラー triangulation または delaunayTriangulation オブジェクトとして指定します。

データ型: triangulation | delaunayTriangulation

フィルターの角度 (ラジアン単位)。範囲 [0,π] のスカラーとして指定します。featureEdges は、π との角度差が theta より大きい二面角をなす、隣接する三角形を返します。

データ型: double

詳細

すべて折りたたむ

特徴エッジ

特徴エッジは、次のいずれかの属性を備えた三角形分割エッジです。

  • 1 つの三角形のみに属している

  • 3 つ以上の三角形によって共有されている

  • 角度偏差が角度 theta より大きい三角形のペアによって共有されている

F は、行が特徴エッジに対応している 2 列の行列です。各行の 1 番目の要素はエッジの開始頂点 ID 番号で、2 番目の要素はエッジの終了頂点 ID 番号です。頂点 ID は Points プロパティの対応する頂点の行番号です。

拡張機能

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2013a で導入