Изобразить линии случайной длины, соединенные последовательно друг с другом под случайным углом - Pascal ABC
Формулировка задачи:
Требуется написать программу, изображающую линии случайной длины, соединенные последовательно друг с другом под случайным углом, кратным 60-и градусам.
До этого выполнил такую же программу, но угол был кратен 90 градусам. Может кто подсказать, как сделать угол кратный 60-и градусам?
вот предыдущая версия программы с линиями под углом кратным 90 градусов
Решение задачи: «Изобразить линии случайной длины, соединенные последовательно друг с другом под случайным углом»
textual
Листинг программы
Uses graphABC; var N,err,X,Y,i,k,l:integer; S:string; begin n:=10; setwindowsize(600,600); centerwindow; randomize; X:=windowwidth div 2; Y:=windowheight div 2; MoveTo(X,Y); for i:=1 to N+1 do begin SetPenColor(clRandom); k:=1+random(5); l:=20+random(100); X:=X+round(l*cos(k*pi/3)); Y:=Y-round(l*sin(k*pi/3)); LineTo(X,Y); end; end.
Объяснение кода листинга программы
- В первой строке используется библиотека graphABC, которая, вероятно, предоставляет функции для работы с графиками.
- Переменная N инициализируется значением 10.
- Функция setwindowsize устанавливает размер окна приложения на 600x600 пикселей.
- Функция centerwindow центрирует окно приложения.
- Функция randomize инициализирует генератор случайных чисел.
- Переменные X и Y инициализируются координатами центра окна приложения (X=windowwidth div 2, Y=windowheight div 2).
- Функция MoveTo перемещает курсор мыши к точке X, Y.
- В цикле for происходит следующее:
- Переменная i инициализируется значением 1.
- Устанавливается цвет пера на случайный цвет с помощью функции SetPenColor(clRandom).
- Переменная k инициализируется случайным числом в диапазоне от 1 до 5 с помощью функции random(5).
- Переменная l инициализируется случайным числом в диапазоне от 20 до 100 с помощью функции random(100).
- Курсор мыши перемещается к точке X, Y с помощью функции LineTo.
- Координаты X и Y вычисляются как среднее арифметическое от X и Y предыдущей позиции курсора мыши, умноженное на l и k соответственно, с помощью формулы X=X+round(lcos(kpi/3)) и Y=Y-round(lsin(kpi/3)).
- Переменная i увеличивается на 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д