Фракталы: бесконечная сложность из простых правил
Береговая линия Великобритании — сколько она километров? Ответ зависит от длины линейки: чем точнее измеряешь, тем длиннее береговая линия (парадокс Ричардсона). Это первый намёк на фракталы — объекты, у которых структура самоподобна на разных масштабах. Бенуа Мандельброт в 1975 году ввёл термин «фрактал» (от лат. fractus — дроблёный) и основал геометрию фракталов.
Фрактал — математический объект, обладающий свойством самоподобия: при любом увеличении обнаруживается структура, подобная исходной. Фрактальная размерность больше топологической, но не является целым числом.
Самоподобие и итерация
Фракталы порождаются простыми итеративными правилами. Треугольник Серпинского: разделите треугольник на 4 меньших, удалите центральный; повторите для каждого оставшегося. После бесконечного числа шагов — самоподобная фигура с нулевой площадью, но ненулевой «дробной» размерностью ≈ 1,585. Снежинка Коха: добавляйте маленький треугольник к середине каждой стороны; итерируйте. Периметр → ∞, площадь конечна.
Фрактальная размерность Хаусдорфа: для «обычных» фигур — целая (линия=1, плоскость=2, куб=3). Для береговой линии Великобритании — около 1,25; для горных рельефов — 2,5; для легочной ткани — около 2,97 (максимальная площадь поверхности в объёме).
Множество Мандельброта
Самый знаменитый фрактал. Для каждой комплексной точки c определяется: сходится ли итерационная последовательность zₙ₊₁ = zₙ² + c (при z₀=0) или уходит в бесконечность? Множество Мандельброта — те точки c, для которых последовательность ограничена. Граница множества — бесконечно сложная фрактальная кривая.
При увеличении любого участка границы обнаруживаются узоры нарастающей сложности — спирали, замечательные узоры, в которых вновь появляются миниатюрные копии самого множества Мандельброта. Визуализация создаётся окрашиванием точек по скорости «убегания» — так получаются знаменитые психоделические картины.
L-системы: фракталы для моделирования природы
L-система (Линденмайера, 1968) — формальная грамматика для генерации фрактальных структур. Простой пример: начало: F; правило: F → FF-[-F+F+F]+[+F-F-F]; после нескольких итераций — растение, похожее на куст. Применяется для: генерации деревьев и растений в компьютерной графике и играх (Unreal Engine, Unity), моделирования роста организмов, создания процедурных ландшафтов.
Фракталы в природе
Природа «знает» фракталы: снежинки (самоподобная кристаллическая структура), береговые линии, горные хребты, речные сети (число притоков разного порядка — закон Хортона), облака и турбулентность, бронхиальное дерево лёгких (16 порядков ветвления), кровеносные сосуды (капиллярная сеть), нейронные дендриты, листья папоротника. Фрактальная геометрия позволяет сгенерировать реалистичный горный пейзаж за секунды — именно так работает процедурная генерация в играх.
