Фракталы

Странные аттракторы

Простая формула, повторённая миллионы раз, рисует облако, в которое стягивается хаотическая орбита.

  • частицы на GPU
  • зацикленная анимация
Открыть в редакторе →

Точку подставляют в пару формул с синусами, получают новую точку — и так раз за разом. Через миллион шагов траектория не убегает в бесконечность и не замыкается в цикл, а вечно блуждает внутри замысловатой фигуры — облака с вуалями, петлями и складками. Это странный аттрактор: множество, к которому притягиваются хаотические орбиты. Из-за хаоса того же рода погоду нельзя предсказать надолго вперёд.

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

Семейств два. Двумерные отображения — Клиффорд, де Йонг, Свенссон, Bedhead, Hopalong — это пары формул «новые x и y через старые». Трёхмерные потоки — Лоренц, Айзава, Томас, Хальворсен — уравнения скорости; генератор интегрирует их мелкими шагами методом средней точки и проецирует на экран с учётом «Поворота» и «Наклона».

Клиффорд: x′ = sin(a·y) + c·cos(a·x) y′ = sin(b·x) + d·cos(b·y) Лоренц: ẋ = σ(y − x) ẏ = x(ρ − z) − y ż = xy − βz

На видеокарте живут 262 144 частицы. Их сразу расставляют на самой орбите; за проход каждая делает шаг и оставляет отметку в своём пикселе. «Качество» — число проходов: по умолчанию 260, то есть около 68 миллионов точек. В сгустках отметок в сотни раз больше, чем на периферии, поэтому плотность показывают в логарифмической шкале: «Экспозиция» её растягивает, «Гамма» вытаскивает бледные вуали. «Цвет по» окрашивает точки по скорости, направлению шага, расстоянию от центра или по самой плотности.

Ползунки a–d — поправки к проверенным значениям, например к классическим σ = 10, ρ = 28, β = 8/3 у Лоренца. Большинство случайных коэффициентов схлопывают орбиту в несколько точек, поэтому «Случайные параметры» перебирают варианты и оставляют только те, что заполняют заметную часть рамки.

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

В 1963 году метеоролог Эдвард Лоренц из MIT опубликовал три уравнения — предельно упрощённую модель конвекции. Их решения никогда не повторяются и так чувствительны к начальным данным, что крошечная ошибка округления со временем меняет «прогноз» до неузнаваемости. Доклад Лоренца 1972 года «Может ли взмах крыльев бабочки в Бразилии вызвать торнадо в Техасе?» дал имя эффекту бабочки, а аттрактор Лоренца и впрямь похож на бабочку. Термин «странный аттрактор» придумали Давид Рюэль и Флорис Такенс в 1971 году, а в 1976-м Мишель Энон показал, что хаосу хватает и двумерного отображения в две строки. Плоские формулы этого слоя — наследники Энона: отображение Клиффорда названо в честь популяризатора науки Клиффорда Пиковера, Hopalong придумал Барри Мартин.

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

  • Сдвигайте a или b на сотые: облако плавно перетекает из формы в форму, а иногда вдруг схлопывается в горстку точек — окно порядка посреди хаоса.
  • «Вид» «нити» для Томаса или Айзавы (у Лоренца они включены уже в режиме «авто») — несколько длинных траекторий вместо облака, как тонкий рисунок пером.
  • Тёмный фон, палитра magma или inferno и «Гамма» 2,5–3 проявят самые бледные вуали.
  • С включённой анимацией «Дрожь» заставляет плоские аттракторы дышать, а «Вращение» поворачивает трёхмерные в пространстве.
  • Добавьте сверху эффект «Свечение» — плотные сгустки засияют, как туманность.

Параметры

Аттрактор
Клиффорд · де Йонг · Свенссон · Bedhead · Hopalong · Лоренц · Айзава · Томас · Хальворсен
a
b
c
d
Качество
Сколько проходов по четверти миллиона частиц
Экспозиция
Гамма
Вид
Для трёхмерных потоков: облако частиц или несколько длинных траекторий-нитей авто · облако · нити
Цвет по
скорости · направлению · расстоянию · плотности
Масштаб
Поворот
Для трёхмерных потоков
Наклон
Вращение
Оборотов 3D-аттрактора за петлю
Дрожь
Параметры a и b ходят по кругу — облако дышит