Python 寻找具有一定公差的直线交点?

Python 寻找具有一定公差的直线交点?,python,algorithm,Python,Algorithm,我想知道是否有两个人在开会,所以从给每个人的点出发,我画一条路,看看它是否相交(用锐利的方式) 问题是: 我需要确切地知道哪个线段相交或近似相交(如果直线之间的距离小于阈值)。对于有效的交叉口,我也可以使用Bentley-Ottman算法(CGAL)来提高效率,但我也有同样的问题 我还需要找出交点或伪交点(每条直线上两条线段之间的最近点)距离每条线段的两端有多远(我需要插值它们相遇的时间) 欢迎提供任何帮助、代码片段或算法建议。我使用的语言是python,我的数据非常大,所以我需要它来提高效率

我想知道是否有两个人在开会,所以从给每个人的点出发,我画一条路,看看它是否相交(用锐利的方式)

问题是:

  • 我需要确切地知道哪个线段相交或近似相交(如果直线之间的距离小于阈值)。对于有效的交叉口,我也可以使用Bentley-Ottman算法(CGAL)来提高效率,但我也有同样的问题

  • 我还需要找出交点或伪交点(每条直线上两条线段之间的最近点)距离每条线段的两端有多远(我需要插值它们相遇的时间)

  • 欢迎提供任何帮助、代码片段或算法建议。我使用的语言是python,我的数据非常大,所以我需要它来提高效率

    谢谢大家!


    编辑:不规则地对点进行采样,有些非常接近,有些非常远离。

    如果收集点的频率足够高,则无需绘制线并检查交点;您可以直接使用点。也许您可以使用“捕捉”功能以给定公差执行捕捉@Ev.Kounis将问题编辑为表示线周围阈值的矩形,然后搜索相交矩形-即,如果一个矩形的四条线段中的任何一条与表示第二条线段的四条线段中的任何一条相交。@Paddy3118这是一个很棒的主意!我会尝试一下,然后再给你回复!
    line1 = LineString(verts_1)
    line2 = LineString(verts_2)
    return line1.intersection(line2)