Графика: график синусоиды - Pascal ABC
Формулировка задачи:
ВОТ ПРОГРАММА:
вот в этой строке
когда прибавляешь число к у,положение начала синусоиды меняется.
я хочу сделать программу,где синусоида движется(как раз за счет прибавления числа к у). но тут у меня возникла проблема. когда изменяю прорграмму до такого вида
получается какая-то белеберда! помогите плиз разобраться что не так!
другая теперь беда...
эту анимацию я сделал,но вот как убрать эти блики,происходящие при переходе?
Решение задачи: «Графика: график синусоиды»
textual
Листинг программы
uses GraphABC; var y0,t0,y1,t1,k,u: integer; y,t,i: real; begin lockdrawing; setWindowSize(640,400); y0:=0; t0:=200; k:=60; lockdrawing; for u:=1 to 50 do begin while y<=10 do begin clearwindow; setPenColor(clRed); t:=sin(y+i); y1:=trunc(y0+y*k); t1:=trunc(t0-t*k); circle(y1,t1,2); y:=y+0.02; sleep(10); redraw; end; y:=0; i:=i+0.5; end; end.
Объяснение кода листинга программы
- Установка размера окна программы на 640x400 пикселей.
- Инициализация переменных: y0 = 0, t0 = 200, k = 60, u = 1, i = 0.
- Запуск цикла, который выполняется 50 раз:
- Внутренний цикл, который выполняется, пока y не превышает 10:
- Очистка окна.
- Установка цвета пера на красный.
- Вычисление значения t как синуса (y + i).
- Вычисление значений y1 и t1, используя линейную интерполяцию с коэффициентом k.
- Рисуется окружность с центром в точке (y1, t1) и радиусом 2.
- y увеличивается на 0.02, а i увеличивается на 0.5 после каждой итерации внутреннего цикла.
- Задержка в 10 миллисекунд.
- Перерисовка окна.
- После завершения внутреннего цикла, y сбрасывается до 0, а i увеличивается на 0.5.
- Внутренний цикл, который выполняется, пока y не превышает 10:
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д