Сделать так что бы дуга (четверть круга) крутилась вокруг центра - PascalABC.NET
Формулировка задачи:
должно крутиться непрерывно, а оно вертиться интервально, назад-вперед
Решение задачи: «Сделать так что бы дуга (четверть круга) крутилась вокруг центра»
textual
Листинг программы
uses graphabc; procedure Vrash(a: real; var x, y: integer; x0, y0, d: integer); begin //var t : real := a * pi / 180; //Преобразование в радианную меру var t : real := DegToRad(a); x := x0 + round(d * cos(t)); y := y0 - round(d * sin(t)); end; var x0, y0, x1, y1, d, i, u: integer; begin setwindowsize(500, 500); x0 := windowwidth div 2; y0 := windowheight div 2; u := 0; d := 100; Setpencolor(clRed); setpenwidth(3); lockdrawing; while true do begin clearwindow; Vrash(u, x1, y1, x0, y0, d); //textout(ly1, lx1, 'sad1'); //textout(lx1, ly1, 'sad2'); arc(x0, y0, d, u, u + 90); redraw; sleep(10); u := u + 2 end; end.
Объяснение кода листинга программы
- Объявлены переменные: a, t, x, y, x0, y0, d, i, u (a - угол в градусах, t - угол в радианах, x, y - координаты точек, x0, y0 - координаты центра, d - длина дуги, i - счётчик итераций, u - параметр)
- Выполняется преобразование угла a из градусов в радианы с помощью функции DegToRad
- Вычисляются координаты точки x, y по формулам x = x0 + d cos(t), y = y0 - d sin(t)
- Задаются начальные координаты центра x0, y0 и длины дуги d
- Устанавливается цвет и ширина пера
- Задаётся условие цикла while true do, который выполняется до тех пор, пока программа не будет остановлена
- В каждой итерации цикла выполняется: 7.1 Очищается окно 7.2 Вызывается процедура Vrash для вычисления координат точек и отрисовки дуги 7.3 В каждой итерации цикла добавляется 2 к переменной u, которая ограничивает угол поворота дуги
- В конце каждой итерации цикла выполняется задержка в 10 миллисекунд
- Выводится на экран текст 'sad1' и 'sad2' (не используется в данном коде)
- Отрисовывается дуга с помощью функции arc, передавая в неё координаты центра x0, y0, длину дуги d и углы поворота u и u + 90
- Перерисовывается окно с помощью функции redraw
- Программа ожидает ввода пользователя с помощью функции sleep
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д