Main Content

boundaryshape

2 次元三角形分割から polyshape を作成

説明

polyout = boundaryshape(TR) は、2 次元三角形分割の境界から polyshape オブジェクトを作成します。TRtriangulation オブジェクトまたは delaunayTriangulation オブジェクトのいずれかにできます。

polyshape オブジェクト polyout を作成すると、プロパティを解析したり、polyshape 関数を使用して追加の計算を行ったりできます。たとえば、polyout.Vertices プロパティによって境界を定義する頂点にアクセスでき、また、コマンド plot(polyout) を使用して形状をプロットできます。

[polyout,vertexID] = boundaryshape(TR) は、polyshape の頂点を三角形分割の頂点にマッピングするベクトル vertexID も返します。

すべて折りたたむ

単純な triangulation オブジェクトを作成してプロットします。

P = [2.5 8.0; 6.5 8.0; 2.5 5.0; 6.5 5.0; 1.0 6.5; 8.0 6.5];
T = [5 3 1; 3 2 1; 3 4 2; 4 6 2];
TR = triangulation(T,P);
triplot(TR)
xlim([0 9])
ylim([4.5 8.5])

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

三角形分割の境界と等しい境界をもつ polyshape オブジェクトを作成してプロットします。

polyout = boundaryshape(TR);
plot(polyout)

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

triangulation オブジェクトを作成してプロットします。

T = [5 1 3; 6 1 4; 5 4 1; 2 6 3; 3 6 5; 2 1 6];
P = [3 0.5; 3.5 1.5; 4 0.5; 3.25 0.6; 3.75 0.6; 3.5 1];
TR = triangulation(T,P);
triplot(TR)
xlim([2.8 4.2])
ylim([0.4 1.8])

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

三角形分割の境界と等しい境界をもつ polyshape オブジェクトを作成してプロットします。三角形分割の内側と外側に閉じた境界があるため、polyout には穴の境界と立体の境界の両方があります。

polyout = boundaryshape(TR)
polyout = 
  polyshape with properties:

      Vertices: [7x2 double]
    NumRegions: 1
      NumHoles: 1

plot(polyout)

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

入力引数

すべて折りたたむ

三角形分割。2 次元 triangulation オブジェクトまたは 2 次元 delaunayTriangulation オブジェクトとして指定します。

出力引数

すべて折りたたむ

出力 polyshapepolyshape オブジェクトとして返されます。

頂点の識別。整数のベクトルとして返されます。vertexID の各要素は、Points プロパティ内の三角形分割の頂点の行番号に対応します。vertexID の長さは、polyshape オブジェクトの Vertices プロパティの行数と等しくなります。

データ型: double

バージョン履歴

R2018b で導入