Камера Вильсона

 

Dim XX, YY, VX, VY, AX, AY, B, Q, XX0, YY0, Dt

 

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

 

Private Sub Command2_Click()

XX0 = 0

Shape2.Left = 0

YY0 = 3230

Shape2.Top = 3230

VY = 0

VX = 25

 

End Sub

 

Private Sub Command3_Click()

Picture1.BackColor = &H8000000F

End Sub

 

Private Sub Command4_Click()

Q = Int(10 * (Rnd - 0.5))

Label3.Caption = Q

End Sub

 

Private Sub Form_Activate()

XX0 = Shape2.Left

YY0 = Shape2.Top

VY = 0

VX = 25

B = 0#

Q = -2

Dt = 1

End Sub

 

Private Sub HScroll1_Change()

B = HScroll1.Value / 10000

Label2.Caption = B

End Sub

 

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 1 Then Picture2.Left = X

End Sub

 

Private Sub Timer1_Timer()

If (Shape2.Left > Picture1.Width) Or (Shape2.Left < 0) Then Timer1.Enabled = False

If (Shape2.Top > Picture1.Height) Or (Shape2.Top < 0) Then Timer1.Enabled = False

AX = Q * VY * B

AY = -Q * VX * B

XX = XX0 + VX * Dt

YY = YY0 + VY * Dt

VX = VX + AX * Dt

VY = VY + AY * Dt

Picture1.Line (XX0 + 67, YY0 + 67)-(XX + 67, YY + 67)

XX0 = XX

YY0 = YY

Shape2.Left = XX

Shape2.Top = YY

End Sub