Пятна леопарда, полосы зебры и рыб-ангелов, извилины коралла-мозговика, завитки отпечатка пальца — природа снова и снова рисует одни и те же мотивы. В 1952 году Алан Тьюринг предположил, что за многими из них стоит простой механизм: два вещества реагируют друг с другом и расплываются с разной скоростью. Совершенно однородная смесь при этом оказывается неустойчивой и сама собой распадается на пятна или полосы. Этот слой — химия такого рода, посчитанная на видеокарте.
Как это устроено
Здесь работает модель Грея — Скотта. Вещество A непрерывно подаётся в систему, вещество B поедает его и размножается (A + 2B → 3B), а само понемногу выводится из системы. Оба вещества диффундируют, причём A растекается вдвое быстрее B. Каждая клетка сетки хранит две концентрации; на каждом шаге генератор усредняет их по соседям (лапласиан на ядре 3 × 3) и добавляет реакцию, подачу и убыль.
Всё решают два числа: подача F и убыль k. «Режим» выбирает проверенные пары: «кораллы» — F = 0,0545 и k = 0,062, «митоз» — 0,0367 и 0,0649 (пятна делятся, как клетки), дальше «лабиринт», «отпечатки», «черви», «волны» и другие. В режиме «свой» пару задают «Подача F» и «Убыль k». Сетка замкнута в тор, поэтому готовая картинка — бесшовный тайл. «Затравка» — то, с чего начинается рост: россыпь пятен, капля в центре, кольцо или линии. На экран выводится концентрация B, пропущенная через палитру; «Резкость» делает границы чётче, а «Рельеф» освещает поле, как карту высот.
Немного истории
Статья Тьюринга «Химические основы морфогенеза» вышла в 1952 году, за два года до его смерти, и десятилетиями оставалась теорией. Питер Грей и Стивен Скотт в 1983–1984 годах занимались вполне прикладной задачей — автокаталитическими реакциями в проточном реакторе с перемешиванием; их уравнения стали главным полигоном для узоров. В 1993 году Джон Пирсон опубликовал в Science работу «Сложные узоры в простой системе»: он просканировал плоскость (F, k) и обозначил найденные типы узоров греческими буквами. Настоящие химические структуры Тьюринга впервые получили в гелевом реакторе во Франции в 1990 году, а в 1995-м Сигэру Кондо и Рихито Асаи показали, что полосы рыбы-ангела Pomacanthus перестраиваются по мере её роста именно так, как предсказывает реакция–диффузия.
Что покрутить
- В режиме «свой» сдвигайте «Убыль k» на тысячные: между пятнами и лабиринтом лежит узкая полоса, где узор меняется на глазах.
- «Затравка» «центр» и «Шагов» поменьше — видно, как узор растёт от капли к краям. Включите анимацию: «Скорость роста» задаёт, сколько шагов симуляции проходит за кадр.
- «Детальность» 150–250 — крупные сочные пятна, 800 и больше — тонкое кружево (считается дольше).
- «Рельеф» 0,5–0,7 и «Резкость» 0,8 превращают узор в тиснёный пластик или кожу рептилии.
- Слой отлично работает маской: положите над ним «Градиентную сетку» и выберите реакцию–диффузию в её «Маске» — кораллы проступят мягкими пятнами цвета.