Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中检查两个凸包是否相交?_Matlab_Intersection_Convex Hull - Fatal编程技术网

如何在Matlab中检查两个凸包是否相交?

如何在Matlab中检查两个凸包是否相交?,matlab,intersection,convex-hull,Matlab,Intersection,Convex Hull,假设我有两个像这样的凸面外壳 C=convhull(x1, y1); D=convhull(x2, y2); 其中x1、y1、x2、y2是向量 现在我可以画出这两个凸包,但是我怎么知道这两个凸包是否相交呢?我希望它在程序中,而不是在视觉上,因为我计划在另一个.m文件中使用它 注意:这些都在matlab中。可能最简单的方法,尽管不一定是最有效的,就是使用 如果您只是在寻找关于两个多边形是否相交的二进制是/否答案 CDintersect = any(CinD) || any(DinC); 如果

假设我有两个像这样的凸面外壳

C=convhull(x1, y1); 
D=convhull(x2, y2);
其中x1、y1、x2、y2是向量

现在我可以画出这两个凸包,但是我怎么知道这两个凸包是否相交呢?我希望它在程序中,而不是在视觉上,因为我计划在另一个.m文件中使用它


注意:这些都在matlab中。

可能最简单的方法,尽管不一定是最有效的,就是使用

如果您只是在寻找关于两个多边形是否相交的二进制是/否答案

CDintersect = any(CinD) || any(DinC);
如果需要实际点,CinD包含xC、yC的索引,DinC包含xD、yD的索引


虽然这不需要任何工具箱,但它确实需要检查两个凸面外壳上的所有点,尽管您可以设置快捷方式,如果CinD包含任何点,并且您只是在寻找是/否答案。

您有权访问映射工具箱吗?你可以用。不,我没有。你可以申请萨瑟兰·霍奇曼。看这里:
CDintersect = any(CinD) || any(DinC);