Изобразить отрезок, вращающийся вокруг точки - 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.

Объяснение кода листинга программы

  1. Установка начального кода программы на языке Pascal.
  2. Объявление переменных: x0, y0 - координаты центра окружности; x1, y1 - координаты первой точки на окружности; x2, y2 - координаты второй точки на окружности; r1, r2 - радиусы первой и второй окружностей соответственно; u - угол поворота.
  3. Инициализация переменных: x0, y0 - установка координат центра окружности в середину окна; r2 - установка радиуса второй окружности на 20 единиц меньше радиуса первой окружности (r1); u - начальное значение угла поворота.
  4. Запуск цикла выполнения программы.
  5. Очистка окна перед каждым выводом.
  6. Вычисление координат первой точки на окружности (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).
  7. Нарисование окружностей и линий между точками на них.
  8. Установка цвета и толщины пера.
  9. Повторение шагов 5-8 с обновлением значений переменных на каждой итерации цикла до достижения заданного условия завершения цикла.
  10. Завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы