Курсовая работа: Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса
Label LabelV LabelK – метка, в которую выводится количество полных кругов, пройденных объектом Shape 1 . Располагается на объекте Form 1.
Caption = "0" (изначально количество кругов считается равным 0)
Left = 8400
Top = 3360
Label Label 3 – метка, выводит на экран надпись. Располагается на объекте Form 1. Подпись к метке, выводящей число кругов, пройденных объектом Shape 1.
BorderStyle = 1 'Fixed Single
Caption = "Пройдено кругов"
Left = 6720
Top = 1200
Label Label 2 – метка, выводит на экран надпись. Располагается на объекте Form 1. Подпись к метке, выводящей скорость объекта Shape 1.
Caption = "Скорость м/c"
Left = 6720
Top = 3360
Label Label 1 – метка, выводит на экран надпись. Располагается на объекте Form 1.
Caption = "Движение по эллиптическому маршруту с регулируемой скоростью и графической визуализацией процесса"
Slider Slider 1 – объект управления, с помощью которого регулируется скорость движения объекта Shape 1.
Max = 30 (максимальное число делений)
Value = 2 (деление на котором располагается бегунок по умолчанию)
2.5 Организация процесса и расчетные формулы
Организовывается процесс работы программы следующим образом. При запуске программы появляется форма, на которой отображаются объекты управления. Для объекта Picture 1 свойство DrawWidth = 8, это толщина точек, при помощи которых на объекте изображается эллипс, прорисовка точек с использованием метода PSet происходит в теле цикла For…Next следующим образом: Picture1.PSet (180 * Cos(i) + 200, 100 * Sin(i) + 140)
В результате выполнения цикла получаем изображение эллипса, у которого большая полуось равна 90,а малая 50, и смещённым относительно левого верхнего угла объекта Picture 1 на 200 пикселей влево и 140 – вниз.
С помощью метода PSet рисуются точки на осях абсцисс и ординат, задающие единичный отрезок. Масштаб задан следующий 360 пикселей = 100 метров. Таким образом, для пользователя большая полуось будет составлять 45 метров, а меньшая – 50 метров.
При нажатии на командную кнопку Command 1 проверяется условие если Slider1.Value = 0, таймер, организующий движение объекта не включается (Timer1.Enabled = False) так как это означает, что скорость равна нулю. Во всех остальных случаях таймер включается (Timer1.Enabled = True).
При нажатии на командную кнопку Command 2 таймеры Timer 1 и Timer 2 выключаются Timer1.Enabled = False: Timer2.Enabled = False, что приводит к остановке движения тела и остановке отсчёта времени.
Теперь последовательно рассмотрим программный код процедур Timer1_Timer() и Timer2_Timer().
С помощью объекта Timer1, организуется движение объекта. В первую очередь активируется Timer 1. Затем рассчитываются координаты объекта Shape 1 по формулам
x = 180 * Cos(fi) + 200
y = 100 * Sin(fi) + 140