Множество Мандельброта и диаграмма бифуркации: математическая красота в коде
Совсем не сложно оказалось переделать механизм рисования бифуркаций в визуализацию множества Мандельброта. Эти две концепции — каждая по-своему — демонстрируют магию математики и программирования, которые способны раскрывать невероятные геометрические формы из простых уравнений.
Диаграмма бифуркации показывает, как при изменении параметра в нелинейной системе происходит разделение (бифуркация) путей её эволюции. Это визуальное представление может быть применено к уравнению логистического роста:
где r — параметр, управляющий динамикой. На графике можно увидеть, как система переходит от стабильного состояния к хаотическому поведению. Особенно впечатляет появление множества Фейгенбаума, демонстрирующего универсальность бифуркаций. Создание диаграммы бифуркации в коде оказалось простым, но увлекательным процессом: достаточно зафиксировать диапазон значений параметра r, выполнить итерации и отобразить результаты. Визуализацию можно посмотреть здесь.
Переход от бифуркации к множеству Мандельброта — это почти естественный шаг, поскольку обе темы связаны с динамическими системами. Множество Мандельброта строится из итераций следующего уравнения:
где c — комплексное число, а z начинается с нуля. Для каждого значения ccc проверяется, остаётся ли последовательность Zn ограниченной. Если да, то точка ccc принадлежит множеству Мандельброта.
Визуализация получилась впечатляющей: при приближении к различным областям множества открываются бесконечные детали, каждая из которых уникальна. Сам алгоритм схож с процессом рисования бифуркаций, но дополнительно добавляется проверка на сходимость. Ознакомиться с визуализацией множества Мандельброта можно здесь.
Рисование диаграммы бифуркации и множества Мандельброта — не только увлекательное хобби, но и способ по-новому взглянуть на хаос, порядок и связь между математикой и реальностью. Оба эти механизма демонстрируют, как простые формулы способны порождать сложные структуры.