Private Sub Timer1_Timer()
Const pi = 3.1415926
Dim R As Double
Dim g As Double
Dim L As Double
Dim j As Double
Dim ω As Double
Dim h As Double
Dim θ0 As Double
Dim f As Double
Dim z As Double
Dim δ0 As Double
Dim δ1 As Double
Dim δ2 As Double
Dim δ3 As Double
Dim i As Double
Dim x As Double
Dim y As Double
Text1.Text = R
Text2.Text = g
Text6.Text = h
Text3.Text = z
Text4.Text = L
Text14.Text = ω
Text7.Text = δ0
Text8.Text = δ1
Text9.Text = δ2
Text12.Text = δ3
Picture4.AutoRedraw = ture
Picture4.Scale (-200, 250)-(200, -250)
Picture4.Line (-180, 0)-(180, 0)
Picture4.Line (0, 230)-(0, -230)
Dim s(365) As Double
Dim ds(365) As Double
Dim dx(365) As Double
Dim dy(365) As Double
j = 0
If Combo1.Text = "等速运动" Then
For i = 0 To δ0
s(j) = h * i / δ0
ds(j) = h / δ0
j = j + 1
Next i
ElseIf Combo1.Text = "等加速等减速运动" Then
For i = 0 To δ0
If i <= δ0 / 2 Then
s(j) = 2 * h * i ^ 2 / δ0 ^ 2
ds(j) = 4 * h * i / δ0 ^ 2
Else
s(j) = h - 2 * h * (δ0 - i) ^ 2 / δ0 ^ 2
ds(j) = 4 * h * (δ0 - i) / δ0 ^ 2
End If
j = j + 1
Next i
ElseIf Combo1.Text = "正弦加速度运动" Then
For i = 0 To δ0
s(j) = h * (i / δ0 - Sin(2 * pi * i / δ0) / 2 / pi)
ds(j) = h * (1 - Cos(2 * pi * i / δ0)) / δ0
j = j + 1
Next i
ElseIf Combo1.Text = "余弦加速度运动" Then
For i = 0 To δ0
s(j) = h * (1 - Cos(pi * i / δ0)) / 2
ds(j) = h * pi * Sin(pi * i / δ0) / 2 / δ0
j = j + 1
Next i
End If
For i = δ0 To δ0 + δ1
s(j) = h
ds(j) = 0
j = j + 1
Next i
If Combo2.Text = "等速运动" Then
For i = δ0 + δ1 To δ0 + δ1 + δ2
s(j) = h * (1 - (i - δ0 - δ1) / δ2)
ds(j) = -h / δ2
j = j + 1
Next i
ElseIf Combo2.Text = "等加速等减速运动" Then
For i = δ0 + δ1 To δ0 + δ1 + δ2
If i <= δ0 + δ1 + δ2 / 2 Then
s(j) = h - 2 * h * (i - δ0 - δ1) ^ 2 / δ2 ^ 2
ds(j) = -4 * h * (i - δ0 - δ1) / δ2 ^ 2
Else
s(j) = 2 * h * (δ2 - i + δ0 + δ1) ^ 2 / δ2 ^ 2
ds(j) = -4 * h * (δ2 - i + δ0 + δ1) / δ2 ^ 2
End If
j = j + 1
Next i
ElseIf Combo2.Text = "正弦加速度运动" Then
For i = δ0 + δ1 To δ0 + δ1 + δ2
s(j) = h * (1 - (i - δ0 - δ1) / δ2 + Sin(2 * pi * (i - δ0 - δ1) / δ2) / 2 / pi)