下面是一个示范,但是贝塞尔曲线怎么弄我就不好搞了。'F1(X)和F2(Y)可以是个方程也可以是一个数组。Private Sub Form_Load() For X = 0 To 100 Picture1.PSet (X, F1(X)), RGB(0, 0, 0) Next
For Y = 0 To 100 Picture1.PSet (F2(Y), Y), RGB(0, 0, 0) NextEnd SubFunction F1(ByVal pX As Double) As Double 'Y=F1(X) F1 = Sqr(Abs(pX ^ 2 - 100 ^ 2)) End FunctionFunction F2(ByVal pY As Double) As Double 'X=F2(Y) F2 = Sqr(Abs(pY ^ 2 - 100 ^ 2)) End Function Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'F(Y)-MX<1 Or F(X)-MY<1 If Abs(F1(X) - Y) < 1 Or Abs(F2(Y) - X) < 1 Then '在曲线上 Text1.Text = "Over" & " " & F1(X) & " " & X Else '不在曲线上 Text1.Text = "Out" & " " & F1(X) & " " & X End If End Sub
For X = 0 To 100
Picture1.PSet (X, F1(X)), RGB(0, 0, 0)
Next
For Y = 0 To 100
Picture1.PSet (F2(Y), Y), RGB(0, 0, 0)
NextEnd SubFunction F1(ByVal pX As Double) As Double
'Y=F1(X)
F1 = Sqr(Abs(pX ^ 2 - 100 ^ 2))
End FunctionFunction F2(ByVal pY As Double) As Double
'X=F2(Y)
F2 = Sqr(Abs(pY ^ 2 - 100 ^ 2))
End Function
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'F(Y)-MX<1 Or F(X)-MY<1
If Abs(F1(X) - Y) < 1 Or Abs(F2(Y) - X) < 1 Then
'在曲线上
Text1.Text = "Over" & " " & F1(X) & " " & X
Else
'不在曲线上
Text1.Text = "Out" & " " & F1(X) & " " & X
End If
End Sub