Построить семейство из двух кривых, заданных уравнением в полярных координатах - Pascal
Формулировка задачи:
Здравствуйте, помогите пожалуйста разобраться в решении задачи:
Построить семейство из двух кривых, заданных уравнением в полярных координатах
p=a-b*sin(k*f)*sin(k*f)
для значений параметров:
1) a=155, b=55, k=80, h=2,5; f є [0, 2pi]
2) a=55, b=35, k=4,97, h=1/32 f є [0, 36pi]
Огромное спасибо за помощь!
Решение задачи: «Построить семейство из двух кривых, заданных уравнением в полярных координатах»
textual
Листинг программы
while f<=mx do//поворот вокруг выбранного центра begin r:=a-b*sin(k*f)*sin(k*f);//формула радиуса вращения, например для окружности это константа x:=xc+round(r*cos(f));//умножаем радиус на косинус-это расстояние от центра по горизонтали y:=yc-round(r*sin(f));//это тоже по вертикали putpixel(x,y,7);//рисуем точку f:=f+0.001;//поворачиваемся на малую величину end;
Объяснение кода листинга программы
- В цикле while выполняется поворот вокруг центра.
- Переменная f используется как счетчик для итераций цикла.
- Формула радиуса вращения задана в уравнении r=a-bsin(kf)sin(kf). Здесь a и b - это константы, k - это параметр, который определяет скорость вращения.
- Переменные x и y используются для определения координат точки на семействе кривых.
- Функция putpixel используется для рисования точки на экране.
- Переменная f обновляется, увеличиваясь на 0.001 после каждой итерации цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д