Игра · фракталы

Фигура из копий самой себя.

Поставьте рядом несколько уменьшенных копий фигуры и сделайте то же с каждой копией. Получится узор, который не кончается. В игре копии расставляете вы, а код рисует то, что вышло.

6 уровней · от Серпинского до дракона · свободный сад

Папоротник Барнсли: четыре правила, ни одной нарисованной ветки. Проведите по нему мышью или пальцем.
Игра «Коллаж»

Накройте цель копиями

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

0 / 15 звёзд

тяни ● — переносит, ◆ — размер и поворот

копия 1: размер ×0,5 · поворот 0° · без отражения

Подобие — как фото на экране: копию можно уменьшить, повернуть и отразить, но форма не искажается. ◆ — размер и поворот, ● — перенос.

шаг 4

Кусочков
81
Каждый меньше в
16 раз
закрашено от площади треугольника
31,6%
Размерность
log 3 / log 2 = 1,585

Из треугольника каждый раз вырезаем серединку. Остаются три копии — вдвое меньше.

Почему это красиво

Целое — это несколько его копий

Выберите фигуру и двигайте ползунок. На каждом шаге каждый кусочек снова делится на те же копии. Цвет подсказывает, какая из первых копий дала этот кусочек.

  • Серпинский3 копии, каждая в 2 раза меньшеlog 3 / log 2 = 1,585
  • Снежинка Коха4 копии, каждая в 3 раза меньшеlog 4 / log 3 = 1,262
  • Дракон2 копии, каждая в √2 раза меньшеlog 2 / log √2 = 2

Размерность 1,585 — не опечатка. У треугольника Серпинского площадь на каждом шаге умножается на ¾ и стремится к нулю, а граница при этом только удлиняется. Поэтому он больше линии (размерность 1) и меньше плоскости (размерность 2). Дракон заполняет плоскость целиком: у него ровно 2.

Подобие и аффинное

Фотография и резиновый лист

Подобие — как фотография на экране: можно увеличить, повернуть, отразить, но форма та же. Аффинное — как резиновый лист: его ещё можно сплющить и скосить.

  • 01Уровни 1, 2, 3 и 5 — подобия: у рамки одна ручка размера и поворота.
  • 02Уровень 4 — аффинный: стебель папоротника — это копия, сплющенная в линию.
  • 03Размерность по формуле log N / log (1/r) считают только для подобий. Для аффинных копий нужны другие приёмы.
Вернуться к игре

было · стало

Угол между сторонами
90° → 65,8°
Отношение сторон
1 → 1,63
Площадь
в 0,88 раза

Форма изменилась: углы и пропорции уже не те. Это аффинное преобразование, но не подобие.

Вопросы

Коротко о главном

Что такое фрактал простыми словами?

Это фигура, у которой есть маленькие части, похожие на целое. Отломите кусочек треугольника Серпинского — это тот же треугольник, только меньше. Строго фракталы определяют через размерность, но для игры хватает такой картинки: целое состоит из своих уменьшенных копий.

Как игра понимает, что получилось?

Код строит узор из ваших копий — случайными прыжками точки, это называется хаос-игра — и накладывает его на цель на сетке в 128 клеток по ширине. Из этого получаются две доли: сколько цели закрыто и сколько лишнего. По ним считается итоговый счёт от 0 до 100; допуск — одна клетка, около 0,8 % ширины поля. Звёзды ставятся по порогам счёта. Всё считается на вашем устройстве, без сервера.

Это настоящая математика или игрушка?

Настоящая: игра повторяет идею теоремы о коллаже (Майкл Барнсли) — если копии почти накрывают фигуру, то узор из этих копий почти совпадает с фигурой. Но это учебная игра, а не инструмент: она показывает идею. Похожие приёмы используют во фрактальном сжатии картинок и при создании ландшафтов, облаков и растений в компьютерной графике.