在一张坐标纸上,随意画一条曲线,然后能不能找到一些点和这条曲线接近,并且把点表示出来呢?请问各位高手谁知道这种算法或是程序代码类似也可以???急求呢!!
在一张坐标纸上,随意画一条曲线,然后能不能找到一些点和这条曲线接近,并且把点表示出来呢?请问各位高手谁知道这种算法或是程序代码类似也可以???急求呢!!
2012-10-31 21:45

2012-11-05 01:38
2012-11-05 01:40
2012-11-05 08:58
程序代码:
Option Explicit
Dim A() As String, X1 As Integer, Y1 As Integer, nCount As Long
Private Sub Form_Load()
nCount = 0: ReDim A(nCount)
Timer1.Interval = 500
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Timer1.Enabled = True Then
X1 = X: Y1 = Y
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
ReDim Preserve A(nCount)
A(nCount) = X1 & "," & Y1
List1.AddItem A(nCount), nCount
nCount = nCount + 1
End Sub

2012-11-05 15:10
程序代码:
Dim x1 As Integer '起点X坐标
Dim y1 As Integer '起点Y坐标
Dim x2 As Integer '终点点X坐标
Dim y2 As Integer '终点Y坐标
Dim flag As Boolean '绘图标志
'设置线的颜色
Private Sub Command1_Click()
On Error Resume Next
CommonDialog1.CancelError = True
CommonDialog1.DialogTitle = "颜色"
CommonDialog1.ShowColor
If Err <> 32755 Then
Picture1.ForeColor = CommonDialog1.Color
End If
End Sub
'清除Picture1中的图形
Private Sub Command2_Click()
Picture1.Cls
End Sub
'设置线宽
Private Sub Option1_Click()
Picture1.DrawWidth = 1
End Sub
Private Sub Option2_Click()
Picture1.DrawWidth = 2
End Sub
Private Sub Option3_Click()
Picture1.DrawWidth = 4
End Sub
Private Sub Option4_Click()
Picture1.DrawWidth = 8
End Sub
Private Sub Form_Load()
Picture1.Scale (0, 0)-(400, 400)
flag = False
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'当按下鼠标按键时绘图开始并记录最初的起点
flag = True
x1 = X
y1 = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'如果不是处在绘图状态则退出该过程
'如果处在绘图状态则从起点到目前鼠标所在点绘制直线
'然后将当前鼠标所在点作为新的起点
If flag = False Then
Exit Sub
End If
If flag = True Then
x2 = X
y2 = Y
Picture1.Line (x1, y1)-(x2, y2)
x1 = x2
y1 = y2
End If
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'当释放鼠标按键时绘图结束
flag = False
End Sub

2012-11-05 15:32