2013-06-28 73 views
3

众所周知,线与折线之间的交点可以使用MATLAB中的Polyxpoly命令找到。
但是,这里给出的例子涉及由点组成的多义线,但不包括实线。这里,通过点之间的空间插值来创建多段线对象。
我想要做的是获得折线和线之间的交点,这些点由线方程定义,但不是从一个点到另一个点。 Image below is to illustrate what I'm looking for线与折线之间的交点

我想获得MATLAB中交点的坐标(用蓝色圆圈表示)。

+0

这看起来像一个简单的代数问题,如果你有线的方程和多边形的eq ......参见例如http://www.mathopenref.com/coordintersection.html – bla

+1

如果你创建一条线通过选择折线外侧的无限线上的两点,然后您就可以得到polyxpoly所需的东西。例如,选择x = min(black_polyline_x) - 100和max(black_polyline_x)+ 100 – Peter

+0

@Peter这似乎是一个很好的解决方案。我怎么都想不起来!如果你愿意,你可以添加你的评论作为答案,所以我可以接受它。谢谢! – rooter

回答

1

如果您通过选择多段线外的无限线上的两个点来创建线段,那么您将拥有polyxpoly所需的线段。例如,选择

x0=min(black_polyline_x) - 100; 
x1=max(black_polyline_x) + 100; 

然后计算y0和y1在行上。