Для управления размером спирали используем выбор по условию с помощью оператора неполного ветвления.
TO SP :A :Y
PD
IF :A < 200
[FD :A RT :Y]
SP :A + 5 :Y
END
Пусть начальное значение переменной А=1 - длина первой внутренней стороны спирали. При каждом повороте вызовом рекурсивной процедуры длина стороны А увеличивается на 5. Пока длина стороны А<200, программа выполняется. Угол поворота в квадратной спирали Y=90. При небольшом увеличении угла поворота (Y=94) получается красивый рисунок спирали с подкручиванием.
2) сворачивающейся квадратной спирали (спираль рисуется снаружи внутрь);
TO SP2 :A :Y
PD
IF :A > 1
[FD :A RT :Y]
SP :A - 5 :Y
END
TO SP :A :Y
PD
IF :A < 200
[FD :A RT :Y]
SP :A + 5 :Y
END
Пусть начальное значение переменной А=1 - длина первой внутренней стороны спирали. При каждом повороте вызовом рекурсивной процедуры длина стороны А увеличивается на 5. Пока длина стороны А<200, программа выполняется. Угол поворота в квадратной спирали Y=90. При небольшом увеличении угла поворота (Y=94) получается красивый рисунок спирали с подкручиванием.
2) сворачивающейся квадратной спирали (спираль рисуется снаружи внутрь);
TO SP2 :A :Y
PD
IF :A > 1
[FD :A RT :Y]
SP :A - 5 :Y
END