一种快速计算线图中交叉的方法

时间:2018-01-07 21:49:31

标签: vb.net algorithm optimization graph

我有一个3119行的图表,每行输入是行(x,y)

我需要计算交叉数(交叉数)“CRS”

无论交叉计算的方法是什么,我知道有很多有效和快速的方法

但每次我必须做4,865,640步骤,[n *(n-1)/ 2]

CRS = 0
For i = 0 To graph.Count - 2
    For j = i + 1 To graph.Count - 1
        Dim li = graph(i)
        Dim l = graph(j)
        If line_intersect(li, l) Then CRS = CRS + 1
    Next
Next

是否有任何快速方法来计算此交叉数,因为每次试验都会消耗大量时间,因为我必须更改一组线的y值并重新计算CRS以进行优化

0 个答案:

没有答案