Движение тела в однородном поле тяжести
Dim XX, YY, VX, VY, AX, AY, K, G, Dt, V0, FI As Double
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Shape1.Left = 0
Shape1.Top = 6120
XX = 0
YY = 6120
K = HScroll3.Value / 100
Label7.Caption = K
V0 = HScroll1.Value
Label3.Caption = V0
FI = HScroll2.Value
Label5.Caption = FI
VX = V0 * Cos(3.141592 * FI / 180)
VY = -V0 * Sin(3.141592 * FI / 180)
End Sub
Private Sub Form_Activate()
Picture1.Line (0, 100)-(9600, 100)
For i = 0 To 200
Picture1.Line (50 * i, 50)-(50 * i, 100)
If ((i \ 10) * 10 = i) Then Picture1.Line (50 * i, 0)-(50 * i, 100)
If ((i \ 5) * 5 = i) Then Picture1.Line (50 * i, 20)-(50 * i, 100)
Next i
V0 = 100
FI = 45
VX = V0 * Cos(3.141592 * FI / 180)
VY = -V0 * Sin(3.141592 * FI / 180)
K = 0
Dt = 1
G = 1
XX = Shape1.Left
YY = Shape1.Top
End Sub
Private Sub HScroll1_Change()
V0 = HScroll1.Value
Label3.Caption = V0
VX = V0 * Cos(3.141592 * FI / 180)
VY = V0 * Sin(3.141592 * FI / 180)
End Sub
Private Sub HScroll2_Change()
FI = HScroll2.Value
Label5.Caption = FI
VX = V0 * Cos(3.141592 * FI / 180)
VY = V0 * Sin(3.141592 * FI / 180)
End Sub
Private Sub HScroll3_Change()
K = HScroll3.Value / 100
Label7.Caption = K
End Sub
Private Sub Timer1_Timer()
AX = -K * VX
AY = G - K * VY
XX = XX + VX * Dt
YY = YY + VY * Dt
VX = VX + AX * Dt
VY = VY + AY * Dt
Shape1.Left = XX
Shape1.Top = YY
If (Shape1.Top > Label1.Top) Then Timer1.Enabled = False
End Sub