有高效的(与O(n 2 )成对测试相比)算法,可以找到一组线段中的所有交点,例如Bentley-Ottmann算法。但是,我想找到一组无限线中的所有交点。当感兴趣的区域是像矩形这样的有限区域时,可以在剪切线之后应用线段相交算法。但是
答案 0 :(得分:7)
通常情况下(并非所有线都是平行的)有O(n ^ 2)个交点,因此使用交点计算进行简单循环是最好的方法
(没有计算就无法获得n*(n-1)/2
分)
对于存在的情况,许多平行线首先会按方向分组,只检查不同组中的线之间的交点
答案 1 :(得分:1)
如果线在一般位置,则所有线对都相交,并且穷举计算是最佳的。