Private Function LOrR(ByVal ptStart As Variant, ByVal ptEnd As Variant, ByVal ptGet As Variant) As Integer
' 判断点ptGet在直线ptStart→ptEnd的左侧还是右侧
' 输入直线起点ptStart、终点ptEnd、指定点ptGet
' 若ptGet在直线之上,LOrR=0;在直线左侧,LOrR=1;在直线右侧,LOrR=-1
Dim s As Double
s = (ptStart(0) - ptGet(0)) * (ptEnd(1) - ptGet(1)) - (ptStart(1) - ptGet(1)) * (ptEnd(0) - ptGet(0))
If Abs(s) < 0.001 Then ' ptGet 在ptStart→ptEnd线上
LOrR = 0
ElseIf s > 0 Then ' ptGet 在ptStart→ptEnd线的左侧
LOrR = 1
Else ' ptGet 在ptStart→ptEnd线的右侧
LOrR = -1
End If