Main Content

overlaps

确定 polyshape 对象是否重叠

说明

当具有兼容大小的两个 polyshape 数组中有彼此重叠的元素对组时,TF = overlaps(poly1,poly2) 返回一个对应元素为 1 的逻辑数组。当 poly1 中的第 i 个 polyshapepoly2 中的第 j 个 polyshape 重叠时,TF(i,j) 为 1。

示例

polyshape 对象向量中有彼此重叠的元素对组时,TF = overlaps(polyvec) 返回一个对应元素为 1 (true) 的逻辑数组。当 polyvec 中的第 i 个 polyshape 与第 j 个 polyshape 重叠时,TF(i,j) 为 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)

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

   1   1   0
   1   1   0
   0   0   1

由于第三个多边形不与第一个或第二个多边形重叠,因此 TF(1,3)TF(2,3)TF(3,1)TF(3,2) 为 0。第二个和第三个多边形共有的单个点不视为重叠区域。

输入参数

全部折叠

第一个输入 polyshape,指定为标量、向量、矩阵或多维数组。

第二个输入 polyshape,指定为标量、向量、矩阵或多维数组。

polyshape 向量。

输出参量

全部折叠

重叠指示符,以标量、向量、矩阵或多维数组的形式返回。

  • 如果输入两个 polyshape 参量,则它们必须具有兼容的大小。例如,如果两个 polyshape 向量具有不同的长度 M 和 N,则它们必须有不同的方向(一个必须是行向量,一个必须是列向量)。TF 则是 M×N 或 N×M,具体取决于每个输入向量的方向。有关兼容的数组大小的详细信息,请参阅基本运算的兼容数组大小

  • 如果您输入一个长度为 N 的 polyshape 向量,则 TF 为 N×N。

数据类型: logical

扩展功能

版本历史记录

在 R2018a 中推出

另请参阅

| | |