Main Content

ishole

polyshape の境界が穴であるかどうかを判定

説明

TF = ishole(polyin) は logical ベクトルを返します。このベクトルの要素は、polyin の対応する境界が穴である場合に 1 (true) となります。

TF = ishole(polyin,I) は、I によりインデックス付けされた polyin の境界に対応する logical ベクトルを返します。TFI と同じ長さです。

すべて折りたたむ

1 つの固体領域と 1 つの穴をもつ多角形を作成し、どの領域が穴であるかを判別します。

t = 0.05:0.5:2*pi;
x1 = cos(t);
y1 = sin(t);
x2 = 0.5*cos(t);
y2 = 0.5*sin(t);
polyin = polyshape({x1,x2},{y1,y2})
polyin = 
  polyshape with properties:

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

plot(polyin)

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

TF = ishole(polyin)
TF = 2x1 logical array

   0
   1

境界を 1 つずつクエリするには、境界インデックスを 2 番目の引数として使用します。

TF = ishole(polyin,2)
TF = logical
   1

入力引数

すべて折りたたむ

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

データ型: polyshape

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

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

バージョン履歴

R2017b で導入