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_Computational Geometry - Fatal编程技术网

Matlab 线段与多边形的交点

Matlab 线段与多边形的交点,matlab,computational-geometry,Matlab,Computational Geometry,我必须在MATLAB中创建一个函数来执行以下任务: 输入: p表格中的多边形 p=[x1,y1;x2,y2;x3,y3;x4,y4…] s具有从A到B段的结构 s=struct('A',[x,y],'B'[u,w]) 返回: 1) 一个整数,指示线段和多边形之间有多少交点(例如,0,1,2) 2) 从A到B的新线段,其中A是输入线段的第一个交点或初始点,B是输入线段的第二个交点或最后一个点 我对如何使用PolyGon中的函数。我一直在阅读如何使用这个函数,并且知道要使用它,我应该提供一个查询点和

我必须在MATLAB中创建一个函数来执行以下任务:

输入:

p表格中的多边形

p=[x1,y1;x2,y2;x3,y3;x4,y4…]

s具有从A到B段的结构

s=struct('A',[x,y],'B'[u,w])

返回:

1) 一个整数,指示线段和多边形之间有多少交点(例如,0,1,2)

2) 从A到B的新线段,其中A是输入线段的第一个交点或初始点,B是输入线段的第二个交点或最后一个点

我对如何使用PolyGon中的函数。我一直在阅读如何使用这个函数,并且知道要使用它,我应该提供一个查询点和多边形顶点的坐标。它将返回1或0,这取决于它是否在内部


我的问题是,如何获取正好位于边界中的线段的查询点(在线段与其相交的情况下)?

如果已安装映射工具箱,则可以使用。由于这是一个相当基本的问题,在文件交换中有相当多的免费MATLAB代码。以下是我找到的搜索词:

  • 吕诺·良

    查找两个二维多边形边的交点,这是一个简单的函数,用于跟踪新闻组讨论

  • 塞巴斯蒂安·霍尔兹

    该文件基于Duane Hanselman的曲线相交函数。它扩展了函数的范围以处理任意直线/多边形,这些直线/多边形也可能具有垂直线段或具有非递增x值的线段

  • 由NS

    而FEX中已经存在一些其他函数来计算 曲线的交点,这段短代码是编写的 以速度为最高优先级。整个过程中不使用回路, 充分利用MATLAB的矢量化功能

  • 道格拉斯·施瓦兹

    此函数用于计算两条曲线相交的(x,y)位置。曲线可以用NaN断开,也可以有垂直线段。它也非常快(至少在代表我认为是典型应用程序的数据上)

  • 大卫·莱格兰

    […]导出新形状:两条线之间的交点、一条线和一个圆之间的交点、平行线和垂直线


怎么样?还有:网上有很多免费代码,谢谢你的帮助@Knedlsepthanks它帮助我解决了问题。