Main Content

overlaps

polyshape オブジェクトがオーバーラップしているかどうかを判別

説明

TF = overlaps(poly1,poly2) は logical 配列を返します。各要素は、互換性のあるサイズの 2 つの polyshape 配列において、対応する要素のペアがオーバーラップする場合に 1 となります。TF(i,j) は、poly1 の i 番目の polyshapepoly2 の j 番目の polyshape とオーバーラップする場合に 1 となります。

TF = overlaps(polyvec) は logical 配列を返します。各要素は、polyshape オブジェクトのベクトルにおいて対応する要素のペアがオーバーラップする場合に 1 (true) となります。TF(i,j) は、polyvec の i 番目の polyshape が j 番目の polyshape とオーバーラップする場合に 1 となります。

すべて折りたたむ

多角形の 1 行 3 列のベクトルを作成してプロットし、どの多角形のペアがオーバーラップするかを判定します。

p1 = polyshape([0 0 1 1],[1 0 0 1]);
p2 = polyshape([0.75 1.25 1.25 0.75],[0.25 0.25 0.75 0.75]);
p3 = polyshape([1.25 1.25 1.75 1.75],[0.75 1.25 1.25 0.75]);
polyvec = [p1 p2 p3];
plot(polyvec)

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

TF = overlaps(polyvec)
TF = 3x3 logical array

   1   1   0
   1   1   0
   0   0   1

3 番目の多角形は最初の多角形とも 2 番目の多角形ともオーバーラップしないため、TF(1,3)TF(2,3)TF(3,1)TF(3,2) はいずれも 0 です。2 番目の多角形と 3 番目の多角形が共有する単一の点は、オーバーラップ領域とは見なされません。

入力引数

すべて折りたたむ

1 番目の入力 polyshape。スカラー、ベクトル、行列または多次元配列として指定します。

2 番目の入力 polyshape。スカラー、ベクトル、行列または多次元配列として指定します。

polyshape ベクトル。

出力引数

すべて折りたたむ

オーバーラップ インジケーター。スカラー、ベクトル、行列、または多次元配列として返されます。

  • 2 つの polyshape 引数を入力する場合は、互換性のあるサイズでなければなりません。たとえば、2 つの polyshape ベクトルの長さ M と N が異なる場合、方向はそれぞれ異なっていなければなりません (一方が行ベクトル、もう一方が列ベクトルでなければなりません)。TF は、各入力ベクトルの方向に応じて、M 行 N 列または N 行 M 列となります。互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。

  • 長さが N である polyshape ベクトルを 1 つだけ入力した場合、TF は N 行 N 列になります。

データ型: logical

バージョン履歴

R2018a で導入