Main Content

freeBoundary

(非推奨) 自由境界の小平面

freeBoundary(TriRep) は推奨されません。代わりに freeBoundary(triangulation) を使用してください。

TriRep は推奨されません。代わりに triangulation を使用してください。

説明

FF = freeBoundary(TR) は、三角形分割の自由境界の小平面を表す行列 FF を返します。小平面が 1 つのシンプレックスのみによって参照されている場合、その小平面は自由境界上にあります。

[FF,XF] = freeBoundary(TR) は、自由境界の小平面に対する頂点座標の行列も返します。

すべて折りたたむ

TriRep を使用してインポートした三角形分割の境界の三角形分割を計算します。

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

load tetmesh;
trep = TriRep(tet,X);

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

[tri,xf] = freeBoundary(trep);

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

trisurf(tri,xf(:,1),xf(:,2),xf(:,3), ...
     'FaceColor','cyan','FaceAlpha',0.8)

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

DelaunayTri で作成した 2 次元の三角形分割を直接クエリします。

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

x = rand(20,1);
y = rand(20,1);
dt = DelaunayTri(x,y);

三角形分割の自由境界を計算し、自由境界のエッジを赤にして三角形分割をプロットします。

fe = freeBoundary(dt)';
triplot(dt)
hold on
plot(x(fe),y(fe),'-r','LineWidth',2)
hold off

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

この場合、自由境界のエッジは (x,y) の凸包に対応します。

入力引数

すべて折りたたむ

三角形分割の表現。TriRep オブジェクトまたは DelaunayTri オブジェクトとして指定します。

出力引数

すべて折りたたむ

自由境界の小平面。行列として返されます。FFmn 列サイズの行列で、m は境界の小平面の数、n は小平面ごとの頂点の数です。ここで、m は境界の小平面の数で、n は小面ごとの頂点の数です。小面のインデックスの頂点は、頂点の座標 TR.X を表す点の配列です。配列 FF は、球面の曲面を表す三角形メッシュと同じように空になります。

自由境界の小平面の頂点座標。行列として返されます。XFmndim 列のサイズです。ここで、m は自由境界の小平面の数、ndim は三角形分割が存在する空間の次元です。

詳細

すべて折りたたむ

シンプレックス

"シンプレックス" は、三角形/四面体、またはより高い次元に相当するものです。

小平面

"小平面" は、三角形のエッジまたは四面体の面です。

拡張機能

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

バージョン履歴

R2009a で導入