Закон Ома для цепи переменного тока
Public R, XL, L, XC, C, U0, Amp, Pi, TT, OM
Public Function Z()
Z = Sqr(R * R + (XL - XC) ^ 2)
End Function
Public Function Fi()
Fi = Atn((XL - XC) / R)
End Function
Private Sub Form_Activate()
Pi = 3.141592
TT = 400
OM = 2 * Pi / TT
'L = 1000
'C = 50
'R = 0.5
R = HScroll1.Value
Amp = 1500
'XL = OM * L
'XC = 1 / (OM * C)
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / Z) * Sin(OM * i - Fi) + 2040
YYY1 = -(Amp / Z) * Sin(OM * (i - 1) - Fi) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
Picture8.Line (100, 0)-(100, 5000)
For i = 0 To 400
Picture8.Line (60, -390 + 60 * i)-(100, -390 + 60 * i)
If ((i \ 10) * 10 = i) Then Picture8.Line (0, -390 + 60 * i)-(100, -390 + 60 * i)
If ((i \ 5) * 5 = i) Then Picture8.Line (30, -390 + 60 * i)-(100, -390 + 60 * i)
Next i
End Sub
Private Sub HScroll1_Change()
If Option1.Value = True Then
Picture2.BackColor = RGB(230, 220, 230)
R = HScroll1.Value
Ff = 0
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / R) * Sin(OM * i - Ff) + 2040
YYY1 = -(Amp / R) * Sin(OM * (i - 1) - Ff) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End If
End Sub
Private Sub HScroll4_Change()
If Option4.Value = True Then
Picture2.BackColor = RGB(230, 220, 230)
L = HScroll4.Value
XL = OM * L
C = 150
XC = 1 / (OM * C)
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / Z) * Sin(OM * i - Fi) + 2040
YYY1 = -(Amp / Z) * Sin(OM * (i - 1) - Fi) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
Label12.Caption = HScroll4.Value / 10
End If
End Sub
Private Sub HScroll2_Change()
If Option2.Value = True Then
Picture2.BackColor = RGB(230, 220, 230)
L = HScroll2.Value
XL = OM * L
Ff = Pi / 2
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / XL) * Sin(OM * i - Ff) + 2040
YYY1 = -(Amp / XL) * Sin(OM * (i - 1) - Ff) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End If
End Sub
Private Sub HScroll3_Change()
If Option3.Value = True Then
Picture2.BackColor = RGB(230, 220, 230)
C = HScroll3.Value
XC = 1 / (OM * C)
Ff = -Pi / 2
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / XC) * Sin(OM * i - Ff) + 2040
YYY1 = -(Amp / XC) * Sin(OM * (i - 1) - Ff) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End If
End Sub
Private Sub Option1_Click()
Picture1.Visible = True
Picture3.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Picture2.BackColor = RGB(230, 220, 230)
XL = 0
XC = 0
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / Z) * Sin(OM * i - Fi) + 2040
YYY1 = -(Amp / Z) * Sin(OM * (i - 1) - Fi) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End Sub
Private Sub Option2_Click()
Picture3.Visible = True
Picture1.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Ff = Pi / 2
Picture2.BackColor = RGB(230, 220, 230)
L = HScroll1.Value
XL = OM * L
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / XL) * Sin(OM * i - Ff) + 2040
YYY1 = -(Amp / XL) * Sin(OM * (i - 1) - Ff) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End Sub
Private Sub Option3_Click()
Picture5.Visible = True
Picture6.Visible = False
Picture3.Visible = False
Picture1.Visible = False
Picture2.BackColor = RGB(230, 220, 230)
C = HScroll3.Value
XC = 1 / (OM * C)
Ff = -Pi / 2
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / XC) * Sin(OM * i - Ff) + 2040
YYY1 = -(Amp / XC) * Sin(OM * (i - 1) - Ff) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
End Sub
Private Sub Option4_Click()
Picture6.Visible = True
Picture5.Visible = False
Picture3.Visible = False
Picture1.Visible = False
Picture2.BackColor = RGB(230, 220, 230)
L = HScroll4.Value
XL = OM * L
C = 150
XC = 1 / (OM * C)
For i = 0 To 6500
YY = -Amp * Sin(OM * i) + 2040
YY1 = -Amp * Sin(OM * (i - 1)) + 2040
YYY = -(Amp / Z) * Sin(OM * i - Fi) + 2040
YYY1 = -(Amp / Z) * Sin(OM * (i - 1) - Fi) + 2040
Picture2.Line (i - 1, YY)-(i, YY1), RGB(0, 0, 200)
Picture2.Line (i - 1, YYY)-(i, YYY1), RGB(200, 0, 0)
Next i
Label12.Caption = HScroll4.Value * 10 \ 100
End Sub
Private Sub Option5_Click()
TT = 400
OM = 2 * Pi / TT
End Sub
Private Sub Option6_Click()
TT = 1000
OM = 2 * Pi / TT
End Sub
Private Sub Option7_Click()
TT = 2000
OM = 2 * Pi / TT
End Sub
Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Picture8.Left = X
End Sub
Private Sub Picture2_Mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Picture8.Left = X
End Sub