Изобразить отрезок, вращающийся вокруг точки - Pascal
Формулировка задачи:
Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг точки, делящей отрезок в отношении 1:3.
Решение задачи: «Изобразить отрезок, вращающийся вокруг точки»
textual
Листинг программы
uses graphABC; var x0,y0,x1,y1,x2,y2,r1,r2:integer; u:real; begin x0:=windowwidth div 2; y0:=windowheight div 2; r2:=y0-20; r1:=r2 div 3; u:=0; lockdrawing; repeat clearwindow; x1:=x0+round(r1*cos(u)); y1:=y0-round(r1*sin(u)); x2:=x0+round(r2*cos(u-pi)); y2:=y0-round(r2*sin(u-pi)); setpencolor(clRed); setpenwidth(3); line(x1,y1,x2,y2); setpencolor(clBlue); circle(x0,y0,2); sleep(50); u:=u+0.05; redraw; until false; end.
Объяснение кода листинга программы
- Установка начального кода программы на языке Pascal.
- Объявление переменных: x0, y0 - координаты центра окружности; x1, y1 - координаты первой точки на окружности; x2, y2 - координаты второй точки на окружности; r1, r2 - радиусы первой и второй окружностей соответственно; u - угол поворота.
- Инициализация переменных: x0, y0 - установка координат центра окружности в середину окна; r2 - установка радиуса второй окружности на 20 единиц меньше радиуса первой окружности (r1); u - начальное значение угла поворота.
- Запуск цикла выполнения программы.
- Очистка окна перед каждым выводом.
- Вычисление координат первой точки на окружности (x1, y1) и второй точки на окружности (x2, y2) по формулам x1 = x0 + r1 cos(u), y1 = y0 - r1 sin(u), x2 = x0 + r2 cos(u-pi), y2 = y0 - r2 sin(u-pi).
- Нарисование окружностей и линий между точками на них.
- Установка цвета и толщины пера.
- Повторение шагов 5-8 с обновлением значений переменных на каждой итерации цикла до достижения заданного условия завершения цикла.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д