Движение круга по правильному многоугольнику - Turbo Pascal

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

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

При помощи данного кода рисуется многоугольник:
Как заставить круг двигаться своим центром по сторонам многоугольника? Я сделал движение от вершине к соседней вершине, но это не очень красиво выглядит.

Решение задачи: «Движение круга по правильному многоугольнику»

textual
Листинг программы
while x<=c*sqrt(2) do
 begin
  if c*c*c*c+4*x*x*c*c)-x*x-c*c>=0 then
   begin
    y:=sqrt(sqrt(c*c*c*c+4*x*x*c*c)-x*x-c*c);
    x1:=xc+round(x*m);
    y1:=yc-round(y*m);
    y2:=yc+round(y*m);
    putpixel(x1,y1,12);
    putpixel(x1,y2,12);
   end;
  x:=x+0.01;
 end;

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

  1. В цикле while выполняется движение круга по правильному многоугольнику, пока значение переменной x не превысит значение c*sqrt(2).
  2. Если значение выражения cccc+4xxcc)-xx-c*c>=0, то выполняется блок begin...end.
  3. Внутри блока begin...end переменная y вычисляется как квадратный корень из суммы квадратов чисел cccc и 4xxcc, вычтенных из xx и c*c.
  4. Переменные x1 и y1 вычисляются как средние значения x и y, округленные до ближайшего целого числа, с помощью функции round().
  5. Переменные y2 и x2 вычисляются как средние значения y и x, округленные до ближайшего целого числа, с помощью функции round().
  6. На экран выводятся пиксели, соответствующие точкам на графике, с помощью функции putpixel(). Координаты пикселей определяются как x1, y1, y2, x2. Значение 12 используется в качестве цвета пикселя.
  7. После завершения блока begin...end значение переменной x увеличивается на 0.01.

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


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

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

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