Сделать так что бы дуга (четверть круга) крутилась вокруг центра - 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.

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

  1. Объявлены переменные: a, t, x, y, x0, y0, d, i, u (a - угол в градусах, t - угол в радианах, x, y - координаты точек, x0, y0 - координаты центра, d - длина дуги, i - счётчик итераций, u - параметр)
  2. Выполняется преобразование угла a из градусов в радианы с помощью функции DegToRad
  3. Вычисляются координаты точки x, y по формулам x = x0 + d cos(t), y = y0 - d sin(t)
  4. Задаются начальные координаты центра x0, y0 и длины дуги d
  5. Устанавливается цвет и ширина пера
  6. Задаётся условие цикла while true do, который выполняется до тех пор, пока программа не будет остановлена
  7. В каждой итерации цикла выполняется:   7.1 Очищается окно   7.2 Вызывается процедура Vrash для вычисления координат точек и отрисовки дуги   7.3 В каждой итерации цикла добавляется 2 к переменной u, которая ограничивает угол поворота дуги
  8. В конце каждой итерации цикла выполняется задержка в 10 миллисекунд
  9. Выводится на экран текст 'sad1' и 'sad2' (не используется в данном коде)
  10. Отрисовывается дуга с помощью функции arc, передавая в неё координаты центра x0, y0, длину дуги d и углы поворота u и u + 90
  11. Перерисовывается окно с помощью функции redraw
  12. Программа ожидает ввода пользователя с помощью функции sleep

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


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

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

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