是否有一种有效的算法来查找一组无限线的所有交点?

nra*_*adk 1 algorithm geometry computational-geometry

像Bentley-Ottmann算法一样,有高效的算法(与O(n 2)成对测试相比)可以找到一组线段中的所有交点。但是,我想找到一组无限线中的所有交点。当感兴趣的区域是诸如矩形之类的有限区域时,可以在剪切线之后应用线段相交算法。但

  • 除了剪切线和应用线段相交算法以外,还有没有更简单或更有效的方法?
  • 对于一组线,整个平面上的所有相交处是否都有有效的算法?

MBo*_*MBo 7

在一般情况下(并非所有线都平行),存在O(n ^ 2)个交点,因此使用简单的带交点计算的循环是最好的方法
(没有方法就无法获取n*(n-1)/2点)

对于存在的情况,许多平行线首先按方向分组,仅检查不同组中的线之间的交点