Поворот треугольника вокруг оси с заданым градусом - VB
Формулировка задачи:
Задача следушая написать программу которая будет поворачивать геом объект пусть будет треугольник вокруг оси О с заданым градусом к примеру
А я никак не могу понят ькак эт осделать ну не получается помогитеее пожалуйста иначе учитель меня сожрет!
Решение задачи: «Поворот треугольника вокруг оси с заданым градусом»
textual
Листинг программы
Private Type Point
X As Double
Y As Double
End Type
Dim WithEvents tmrTimer As Timer
Dim Pts() As Point
Private Sub Form_Load()
Me.Scale (-2, -2)-(2, 2)
Me.AutoRedraw = True
Set tmrTimer = Me.Controls.Add("VB.Timer", "tmrTimer")
tmrTimer.Interval = 50
tmrTimer.Enabled = True
CreateShape
End Sub
Private Sub CreateShape()
Dim Ct As Long
ReDim Pts(2)
Pts(0).X = 1: Pts(0).Y = 1
Pts(1).X = 0: Pts(1).Y = -1
Pts(2).X = -1: Pts(2).Y = 1
End Sub
Private Sub tmrTimer_Timer()
Static Omega As Double
Dim X As Single, Y As Single, _
oX As Single, oY As Single, _
Init As Boolean, I As Long
Me.Cls
For I = 0 To UBound(Pts)
If Not Init Then
Init = True
oX = Sin(Omega) * Pts(I).X - Cos(Omega) * Pts(I).Y
oY = Sin(Omega) * Pts(I).Y + Cos(Omega) * Pts(I).X
Me.CurrentX = oX: Me.CurrentY = oY
Else
X = Sin(Omega) * Pts(I).X - Cos(Omega) * Pts(I).Y
Y = Sin(Omega) * Pts(I).Y + Cos(Omega) * Pts(I).X
Me.Line -(X, Y)
End If
Next
Me.Line -(oX, oY)
Me.Circle (0, 0), 0.03
Omega = Omega + 0.02
Me.Caption = Round(Omega * 57.2957795130823, 2) & " degree"
Me.Refresh
End Sub