找出一条线与图上其他线相交的次数

时间:2018-10-18 15:50:55

标签: matplotlib

使用

plt.plot(x[i:i+2], y[i:i+2], 'ro-')

创建一些线段:

如果一个图x = 0.6,是否有一个内置的matplotlib方法来查找与图上已经绘制的线相交的次数?

1 个答案:

答案 0 :(得分:1)

对于给定的段,其中您知道x [2i]和x [2i + 1],如果给定的x介于两者之间,则您有一个交集。最好的检查方法是计算(x-x[2*i])*(x-x[2*i+1])。如果小于零,则有一个交点。如果等于零,则端点之一在x = 0.6线上。如果大于零,则表示线段的末端在线的同一侧,因此没有交点。 对此进行编程,假设x是一个numpy数组 prod=(0.6-x[::2])*(0.6-x[1::2]) 交点数为len(numpy.where(prod>=0)[0])