Нарисовать траекторию для круга - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Программисты, уповаю на вашу помощь.

Нужно:

1.Что бы за кружком следовала пунктирная траектория. 2.Фон был желтый. 3.Круг должен быть цельный(зарисованный).

Решение задачи: «Нарисовать траекторию для круга»

textual
Листинг программы
uses graphabc;
var x,y,x0,y0,d,n,i,j,c:integer;
    m:array[1..2,1..1000]of integer;
    a:real;
begin
setwindowsize(700,500);
x0:=100;
y0:=475;
a:=pi/2;
d:=375;
//создадим массив точек траектории
n:=0;
while a>0 do
 begin
  n:=n+1;
  m[1,n]:=x0+round(d*cos(a));
  m[2,n]:=y0-round(d*sin(a));
  a:=a-0.01;
 end;
clearwindow(clYellow);
setpenwidth(5);
setpencolor(clred);
line(0,125,100,125);
line(425,475,525,475);
j:=0;
a:=pi/2;
lockdrawing;
repeat
clearwindow(clYellow);
setpenwidth(5);
line(0,125,100,125);
line(425,475,525,475);
c:=clrandom;
setpencolor(c);
setbrushcolor(c);
j:=j+1;
for i:=1 to j do
putpixel(m[1,i],m[2,i],clBlue);
x:=x0+round(d*cos(a));
y:=y0-round(d*sin(a));
circle(x,y,15);
setpencolor(clred);
sleep(50);
a:=a-0.01;
redraw;
until a<0.05;
end.

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

  1. Объявлены переменные: x, y, x0, y0, d, n, i, j, c, m (массив), a (угол)
  2. Заданы начальные значения переменных: x0, y0, d, a
  3. Создается массив точек траектории методом итерации по шагу 0.01 радиана
  4. Очищается окно и рисуется линия для оси x от (0,125) до (100,125) и линия для оси y от (425,475) до (525,475)
  5. Задается начальный цвет для рисования - clred (красный)
  6. В цикле while, для каждой точки траектории на массиве, рисуется точка синим цветом (clBlue)
  7. Рисование линии с текущими координатами x и y, а также окружность с радиусом 15 вокруг этих координат
  8. Смена цвета линии на красный (clred)
  9. Спящий режим на 50 миллисекунд для плавности анимации
  10. Уменьшение угла a на 0.01 радиана
  11. Повторение шагов 4-10 до тех пор, пока значение угла a больше или равно 0.05 радиана.

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


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

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

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