Main Content

rmboundary

polyshape の境界を削除

説明

polyout = rmboundary(polyin,I) は、I 番目の境界が削除されている多角形 polyin で構成された polyshape オブジェクトを返します。

polyout = rmboundary(polyin,I,'Simplify',TF) は、適切に定義されていない多角形の扱い方を指定します。

すべて折りたたむ

2 つの三角形で構成された多角形を作成し、次に重心が点 (4,2) に近い方の三角形を削除します。関数 sortboundaries を使用すると、基準点に近い方の三角形に対応する境界インデックスにアクセスできます。これは並べ替え後は 1 になります。

x1 = [0 1 2];
y1 = [0 1 0];
x2 = [2 3 4];
y2 = [1 2 1];
polyin = polyshape({x1,x2},{y1,y2});
plot(polyin)

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

polysort = sortboundaries(polyin,'centroid','ascend','ReferencePoint',[4 2]);
polyout = rmboundary(polysort,1);
plot(polyout)

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

入力引数

すべて折りたたむ

入力 polyshape。スカラーとして指定します。

データ型: polyshape

境界インデックス。スカラー整数または整数のベクトルとして指定します。I の各要素は、入力 polyshape の 1 つの境界に対応します。

データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

単純化インジケーター。次の値のいずれかとして指定します。

  • true — 入力頂点により交差や適切でない入れ子が発生する場合に、多角形の頂点を変更して、適切に定義された多角形を作成します。

  • false — 交差や適切でない入れ子が発生していても、入力頂点を変更しません。適切に定義されていない多角形を使用して計算すると、結果が不正確になったり、予期しないものになる可能性があります。

データ型: logical

バージョン履歴

R2017b で導入