Помогите переделать программу.
Начальная задача:
Построить спираль вокруг начала координат с n витками и внешним радиусом r; начальное направление спирали образует с осью OX угол альфа. Параметрическое представление спирали: x=rcost, y=rsint, r=t/2.
Вот код этой программы
Код:
uses
graphABC;
var
xc, yc, x, y, i, Scale : integer;
Radius, CurrentRadius, CornerT : real;
s: string;
begin
writeln('Построение спирали Архимеда');
writeln('Введите начальный угол t спирали');
read(CornerT);
CornerT := CornerT * pi / 180; {Градусы в радианы}
xc := windowwidth div 2; {Положение оси абсцисс}
yc := windowheight div 2; {Положение оси ординат}
line(0, yc, 2 * xc, yc); {Рисование оси абсцисс}
line(xc, 0, xc, 2 * yc); {Рисование оси ординат}
Scale := 15; {масштаб}
Radius := 15; {внешний радиус}
for i := 1 to round(Radius) do begin {максимальное количество засечек в одну сторону}
str(i, s);
{if i mod 2 = 0 then begin}
{засечки на оси Oy}
line(xc - 3, yc - i * Scale, xc + 3, yc - i * Scale);{на полож y}
line(xc - 3, yc + i * Scale, xc + 3, yc + i * Scale); {на отриц y}
{подпись оси Oy}
textout(xc + 5, yc - i * Scale - 7, s); {на положительных y}
textout(xc + 5, yc + i * Scale - 7, '-' + s); {на отрицательных y}
{засечки на оси Ox}
line(xc + i * Scale, yc - 3, xc + i * Scale, yc + 3); {на полож x}
line(xc - i * Scale, yc - 3, xc - i * Scale, yc + 3); {на отр x}
{подпись оси Ox}
textout(xc + i * Scale - 5, yc + 10, s); {на полож x}
textout(xc - i * Scale - 7, yc + 10, '-' + s); {на отр x}
{end;}
end;
{центр}
textout(xc + 1, yc + 1, '0');
{подписи концов осей}
textout(xc + round(Radius * Scale), yc - 20, 'x');
textout(xc - 13, yc - round(Radius * Scale) - 10, 'y');
CurrentRadius := 0; {текуший радиус}
setpencolor(clBlue);
moveto(xc, yc);
while CurrentRadius <= Radius do begin {рисование спирали пока внешний радиус не станет равен заданному}
CurrentRadius := CornerT / 2;
x := xc + round(Scale * CurrentRadius * cos(CornerT));
y := yc - round(Scale * CurrentRadius * sin(CornerT));
lineto(x, y);
CornerT := CornerT + 0.1;
end;
end.
А нужно чтобы помимо внешнего радиуса и начального угла спирали можно было задавать ещё и количество витков спирали. Для этого уравнения будут другие. Они есть здесь
https://ru.wikipedia.org/wiki/%D0%90...B0%D0%BB%D1%8C