|
发表于 2006-5-22 19:10:00
|
显示全部楼层
我根据这里的线段相交判断方法,写的判断程序好像有点错误,大家帮我看看
Function L2L_Intersect(A() As Double, B() As Double, C() As Double, D() As Double) As Boolean
Dim Xmax_1, Xmax_2, Xmin_1, Xmin_2, Ymax_1, Ymax_2, Ymin_1, Ymin_2 As Double
Dim V1 As Double, V2 As Double
Dim V3 As Double, V4 As Double
If A(0) > B(0) Then
Xmax_1 = A(0)
Xmin_1 = B(0)
Else
Xmax_1 = B(0)
Xmin_1 = A(0)
End If
If A(1) > B(1) Then
Ymax_1 = A(1)
Ymin_1 = B(1)
Else
Ymax_1 = B(1)
Ymin_1 = A(1)
End If
If C(0) > D(0) Then
Xmax_2 = C(0)
Xmin_2 = D(0)
Else
Xmax_2 = D(0)
Xmin_2 = C(0)
End If
If C(1) > D(1) Then
Ymax_2 = C(1)
Ymin_2 = D(1)
Else
Ymax_2 = D(1)
Ymin_2 = C(1)
End If
L2L_Intersect = False
If Xmax_1 Xmax_2 Or Ymin_1 > Ymax_2 Or Ymax_1 = 0 And V3 * V4 >= 0 Then
L2L_Intersect = True
End If
End If
End Function
这个程序对有些图形判断正确有些有错误,我上传的图中两线段就判断出错,不知道为什么,大家帮我看看,
|
|