Main Content

freeBoundary

説明

F = freeBoundary(TR) は、TR の三角形または四面体の自由境界の小平面を返します。TR の小平面が 1 つの三角形または四面体のみによって参照されている場合、その小平面は自由境界上にあります。

[F,P] = freeBoundary(TR) は、自由境界の小平面の頂点を含む行列も返します。

すべて折りたたむ

関数 freeBoundary を使用して、2 次元 Delaunay 三角形分割の外側のエッジを強調表示することができます。

2 次元の点集合から三角形分割を作成します。

rng('default')
x = rand([20,1]);
y = rand([20,1]);
TR = delaunayTriangulation(x,y);

自由境界エッジを検出します。

F = freeBoundary(TR);

三角形分割をプロットし、自由境界のエッジを赤で強調表示します。

triplot(TR)
hold on
plot(x(F),y(F),'-r','LineWidth',2)

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

関数 freeBoundary を使用して、オブジェクトの表面を覆っている 3 次元三角形分割の小平面を抽出することができます。

3 次元の三角形分割を読み込みます。

load tetmesh
TR = triangulation(tet,X);

境界の三角形分割を計算します。

[F,P] = freeBoundary(TR);

境界の三角形分割をプロットします。

trisurf(F,P(:,1),P(:,2),P(:,3), ...
       'FaceColor','cyan','FaceAlpha',0.8);

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

入力引数

すべて折りたたむ

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

データ型: triangulation | delaunayTriangulation

出力引数

すべて折りたたむ

三角形分割連結リスト。行列として返されます。

出力引数を 1 つ指定して freeBoundary を呼び出した場合、F の要素は入力の三角形分割の Points プロパティの行番号になります。出力引数を 2 つ指定して freeBoundary を呼び出した場合、F の要素は P の行番号になります。

データ型: double

自由境界の小平面の頂点座標を含む行列として返される自由境界の点。P の各行は、1 つの頂点の座標を含みます。

データ型: double

拡張機能

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

バージョン履歴

R2013a で導入