Спираль Архимеда
Построение спирали Архимеда -- параметрической кривой, у которой радиус растёт пропорционально углу поворота. Программа показывает, как рисовать плавные кривые с помощью множества коротких отрезков.
Разбор
Подготовка переменных
использовать Чертежник
алг
нач
цел i, n
вещ angle, r, x, y
вещ prevX, prevY
вещ a
n := 200
a := 0.1 | коэффициент спирали
Переменная n задаёт количество точек (отрезков), из которых состоит кривая. Чем больше n, тем более гладкой выглядит спираль. Коэффициент a определяет, как быстро спираль раскручивается: при большем a витки располагаются дальше друг от друга.
Начало из центра
angle := 0.0
r := 0.0
x := 0.0
y := 0.0
поднять перо
сместиться в точку(x, y)
опустить перо
выбрать чернила(1) | синий
Спираль начинается из центра координат $(0, 0)$. Перо поднимается для перемещения в начальную точку, затем опускается. Цвет линии -- синий.
Рисование спирали
нц для i от 1 до n
angle := i * 0.2
r := a * angle
x := r * cos(angle)
y := r * sin(angle)
сместиться в точку(x, y)
кц
Спираль Архимеда задаётся в полярных координатах формулой:
$r = a \cdot \theta$
где $r$ -- расстояние от центра, $\theta$ -- угол в радианах, $a$ -- коэффициент спирали. На каждом шаге угол увеличивается на $0{,}2$ радиана, и радиус пропорционально растёт. Полярные координаты переводятся в декартовы:
$x = r \cdot \cos(\theta), \quad y = r \cdot \sin(\theta)$
За 200 шагов угол достигает $200 \times 0{,}2 = 40$ радиан, что составляет примерно $6{,}4$ полных оборота.
Надпись
поднять перо
выбрать чернила(0) | черный
сместиться в точку(-3.0, -4.0)
написать(4.0, "Спираль Архимеда")
кон
После завершения рисования перо поднимается, перемещается в точку $(-3, -4)$ и выводит подпись чёрным цветом с размером шрифта $4{,}0$.
Полная программа
| Рисование спирали Архимеда
использовать Чертежник
алг
нач
цел i, n
вещ angle, r, x, y
вещ prevX, prevY
вещ a
n := 200
a := 0.1 | коэффициент спирали
| Начинаем из центра
angle := 0.0
r := 0.0
x := 0.0
y := 0.0
поднять перо
сместиться в точку(x, y)
опустить перо
выбрать чернила(1) | синий
| Рисуем спираль
нц для i от 1 до n
angle := i * 0.2
r := a * angle
x := r * cos(angle)
y := r * sin(angle)
сместиться в точку(x, y)
кц
| Надпись
поднять перо
выбрать чернила(0) | черный
сместиться в точку(-3.0, -4.0)
написать(4.0, "Спираль Архимеда")
кон