Фракталы · системы итерируемых функций

Игра в хаос

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

Игра в хаос в этой визуализации

При каждом броске в игре в хаос случайно выбирается одна из точек v1,…,vNv_1, \dots, v_N, и текущая точка проходит долю r расстояния до неё. Иными словами, применяется одно из отображений

fi(x)=vi+s (x−vi),s=1−r,f_i(x) = v_i + s\,(x - v_i), \qquad s = 1 - r,

которые сжимают плоскость с коэффициентом s к точке viv_i. Дракон и папоротник вместо этого используют аффинные отображения fi(x)=Aix+bif_i(x) = A_i x + b_i. Здесь можно перемещать вершины, менять r, ограничивать следующий бросок и менять вероятности — и смотреть, какие рисунки создаёт кубик.

Рисунок подсчитывает попадания: чем больше точек попало в пиксель, тем насыщеннее его цвет. В режиме По последнему броску цвет каждого попадания определяется вершиной или отображением, выбранным последним броском, а в режиме По предпоследнему броску — броском перед ним. Там, где цвета смешиваются, в один пиксель попали точки разных цветов.

Почему каждая игра рисует одну и ту же фигуру? Сначала рассмотрим броски без памяти. Каждое отображение сокращает расстояния, поэтому две точки, следующие одной последовательности бросков, сближаются. Существует ровно одно непустое компактное множество K, составленное из собственных копий,

K=f1(K)∪f2(K)∪⋯∪fN(K).K = f_1(K) \cup f_2(K) \cup \dots \cup f_N(K).

Точка из K остаётся в K при любом броске, поэтому расстояние от точки игры до K стремится к нулю, а начальное положение забывается.

Последние k бросков помещают точку рядом с одной из маленьких копий K, а более ранние броски определяют лишь её положение вблизи этой копии. Поэтому режим По последнему броску показывает N копий, а режим По предпоследнему броску — N2N^2 более мелких; каждая из них — копия целого. Если у каждого отображения есть ненулевая вероятность, то почти наверное любая конечная последовательность бросков рано или поздно встретится, и точки приблизятся к каждой части K. Копировальной машине кубик вообще не нужен. Она уменьшает целую фигуру до N копий и повторяет этот процесс: начав с охватывающего контура или с кролика, она приближается к тому же K. По кролику видно, поворачивает ли отображение фигуру или зеркально отражает её.

Если выпуклая оболочка вершин — многоугольник, а его N копий соприкасаются не более чем по границам, размерность рисунка равна

D=log⁡Nlog⁡(1/s).D = \frac{\log N}{\log (1/s)}.

У треугольника при r = 1/2 она равна D=log⁡3/log⁡2≈1.585D = \log 3/\log 2 \approx 1.585, а у ковра при r = 2/3 — log⁡8/log⁡3≈1.893\log 8/\log 3 \approx 1.893. Когда копии перекрываются, это число даёт лишь верхнюю границу, и страница не указывает размерность. Если же копии покрывают весь многоугольник, он составлен из собственных копий. В силу единственности он и есть предельный рисунок — сплошная фигура.

В режимах Без повторов и Без соседей следующий бросок зависит от предыдущего. Соседство определяется нумерацией вершин, которая не меняется при перетаскивании. Тогда последний бросок разбивает рисунок на части, каждая из которых — копия совокупности частей, допустимых непосредственно перед ней. Значит, ограничение может изменить саму фигуру: при r = 1/2 квадрат без повторов уже не сплошной, а представляет собой фрактал размерности log⁡3/log⁡2\log 3/\log 2.

Пока у каждого отображения есть ненулевая вероятность, вероятности не меняют K. Они определяют лишь распределение попаданий по нему. Папоротник рисуется в режиме По площади. В режиме Равные форма листа сохраняется, но на стебель приходится больше точек, а на кончики — меньше.

Книга Майкла Барнсли Fractals Everywhere (1988) сделала рисование таких фигур случайными бросками широко известным под названием «игра в хаос».

На что обратить внимание

  • Название не означает хаотическую динамику. Точки, следующие одной последовательности бросков, сближаются — в противоположность чувствительной зависимости от начальных условий. Случайность здесь только в бросках кубика.
  • Рисунок — это предел. Любое конечное число точек или раундов копирования лишь приближает его.
  • Насыщенность цвета показывает число попаданий. Она не означает, что фигура в этом месте толще, а свечение — лишь эффект отображения.

Связанные темы