帮助中心帮助中心
确定 polyshape 对象是否重叠
polyshape
TF = overlaps(poly1,poly2)
TF = overlaps(polyvec)
当具有兼容大小的两个 polyshape 数组中有彼此重叠的元素对组时,TF = overlaps(poly1,poly2) 返回一个对应元素为 1 的逻辑数组。当 poly1 中的第 i 个 polyshape 与 poly2 中的第 j 个 polyshape 重叠时,TF(i,j) 为 1。
TF
poly1
poly2
示例
当 polyshape 对象向量中有彼此重叠的元素对组时,TF = overlaps(polyvec) 返回一个对应元素为 1 (true) 的逻辑数组。当 polyvec 中的第 i 个 polyshape 与第 j 个 polyshape 重叠时,TF(i,j) 为 1。
polyvec
true
全部折叠
创建并绘制一个 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 = 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。第二个和第三个多边形共有的单个点不视为重叠区域。
TF(1,3)
TF(2,3)
TF(3,1)
TF(3,2)
第一个输入 polyshape,指定为标量、向量、矩阵或多维数组。
第二个输入 polyshape,指定为标量、向量、矩阵或多维数组。
polyshape 向量。
重叠指示符,以标量、向量、矩阵或多维数组的形式返回。
如果输入两个 polyshape 参量,则它们必须具有兼容的大小。例如,如果两个 polyshape 向量具有不同的长度 M 和 N,则它们必须有不同的方向(一个必须是行向量,一个必须是列向量)。TF 则是 M×N 或 N×M,具体取决于每个输入向量的方向。有关兼容的数组大小的详细信息,请参阅基本运算的兼容数组大小。
如果您输入一个长度为 N 的 polyshape 向量,则 TF 为 N×N。
数据类型: logical
logical
用法说明和限制:
必须启用动态内存分配才能进行代码生成。
在 R2018a 中推出
polyshape | union | intersect | subtract
union
intersect
subtract
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office