Кривые

Суперформула Гилиса

Одно уравнение Йохана Гилиса рисует круги, многоугольники, звёзды, цветы и раковины — вложенными контурами, сеткой или таблицей форм.

  • векторная геометрия
  • бесшовный тайл
  • зацикленная анимация
  • экспорт в SVG
Открыть в редакторе →

Круг, квадрат со скруглёнными углами, морская звезда, лист клевера — можно ли описать всё это одним уравнением? Йохан Гилис в 2003 году предложил формулу в полярных координатах всего с шестью параметрами, которая рисует всё это и многое другое.

Как это устроено

Отправная точка — суперэллипс Ламе, кривая |x|ⁿ + |y|ⁿ = 1. При n = 1 это ромб, при n = 2 — круг, с ростом n он превращается в квадрат со всё более острыми углами, а при n меньше 1 — в четырёхлучевую звезду с вогнутыми сторонами. Гилис умножил угол на m/4, чтобы фигура повторялась m раз за оборот, дал синусу и косинусу собственные показатели и вынес общий показатель наружу.

r(θ) = ( |cos(mθ/4) / a|^n₂ + |sin(mθ/4) / b|^n₃ )^(−1/n₁) m = 4, n₁ = n₂ = n₃ = n, a = b = 1 → |x|ⁿ + |y|ⁿ = 1

«Симметрия m» — число лучей. «n₁ — заострённость» действует как увеличительное стекло: маленькое n₁ раздувает любую неровность в иглу, большое сглаживает всё до круга. n₂ и n₃ гнут стороны, каждый — свою половину: n₃ отвечает за форму возле одних лучей, n₂ — возле других, поэтому при n₂ ≠ n₃ соседние лучи получаются разными. «a : b» вытягивает чётные лучи относительно нечётных. Если n₂ = n₃ = 2 и a : b = 1, то cos² + sin² = 1, и выходит круг при любых m и n₁.

В режиме «вложенные контуры» форма уменьшается шаг за шагом, а n₁ к центру растёт — контуры скругляются и слегка закручиваются. Режим «сетка» раскладывает формы по клеткам, а «таблица форм» устраивает периодическую таблицу: вдоль строки растёт m, вниз по столбцу — n₁, по диагонали — изгиб сторон.

Немного истории

Кривые вида |x/a|ⁿ + |y/b|ⁿ = 1 изучал французский математик Габриэль Ламе ещё в 1818 году. В 1959 году датский поэт и изобретатель Пит Хейн предложил суперэллипс с n = 2,5 для площади Сергельс-торг в Стокгольме — компромисс между кругом и прямоугольником, удобный и для городской сетки, и для машин. Гилис опубликовал своё обобщение в American Journal of Botany и подал на синтез узоров по формуле патентную заявку; её срок истёк в 2020 году.

Что покрутить

  • Начните с круга: при n₂ = n₃ = 2 параметр n₁ ни на что не влияет. Опустите n₂ и n₃ ниже 2 — проступят m лучей, поднимите выше — m выпуклых углов; теперь n₁ решает, острые они или мягкие.
  • «Симметрия m» 5 и «n₁ — заострённость» около 0,3 дают морскую звезду; m 4 и все три показателя по 4 — квадрат со скруглёнными углами.
  • Разведите n₂ и n₃, например 1 и 8: одни лучи заострятся, соседние затупятся.
  • «Режим» «таблица форм» и «Разброс» 1 — готовый атлас суперформ.
  • Положите сверху эффект «Дизеринг» в режиме «1 бит» — выйдет картинка в духе старого компьютерного журнала.

Параметры

Режим
вложенные контуры · сетка · таблица форм
Симметрия m
Число лучей
n₁ — заострённость
Меньше — острее лучи, больше — круглее форма
n₂ — изгиб сторон
n₃ — изгиб сторон
a : b
Вытягивает чётные лучи относительно нечётных
Контуры
Сколько вложенных контуров у формы
Клеток
Сколько форм по короткой стороне — для сетки и таблицы
Разброс
Как контуры меняются к центру; повороты клеток в сетке; размах изменений в таблице
Стиль
контур · заливка · заливка с обводкой
Толщина линии
Раскраска
один цвет · градиент · случайно
Поворот
Скорость
За петлю анимации форма вдыхает-выдыхает и поворачивается на шаг симметрии