Главная > Разное > Фракталы и хаос в динамических системах. Основы теории
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 8. Комплексная динамика

8.1. Множества Жюлиа

Вероятно, нельзя привести пример такого компьютерного эксперимента, который впечатлением от результатов превосходил бы то чувство удивления и восхищения, которое вызывает графическое построение множеств Жюлиа и множества Мандельброта на плоскости. Материал данной главы является продолжением изучения динамики итераций, фрактальных аттракторов и хаоса. Но для более глубокого понимания предмета требуются знания достаточно продвинутых разделов теории функций комплексного переменного, которые вряд ли уместно излагать здесь в полном объеме. Заинтересованный читатель может ознакомиться с необходимыми сведениями по ТФКП в [8], а доказательство теорем, относящихся к комплексной динамике, он найдет в [11] или [14].

Через С будем обозначать множество всех комплексных чисел . Комплексное число будем обозначать Вещественная часть z равна а, а мнимая часть z равна вещественному числу b. Будем обозначать их как

Модуль комплексного числа обозначаемый определяется как евклидова длина вектора , то есть

Когда мы говорим, что последовательность комплексных чисел стремится к бесконечности:

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

При этом не требуется, чтобы стремились к вдоль по прямой или какой-то кривой, просто абсолютные величины должны расти неограниченно.

Ограничимся далее рассмотрением функций, которые представляют собой полиномы одного комплексного переменного. Пусть

— полином степени коэффициенты — комплексные числа (в частном случае, вещественные).

Множество Жюлиа функции обозначаемое определяется как

Таким образом, множество Жюлиа функции есть граница множества точек , стремящихся к бесконечности при итерировании Множество названо в честь французского математика Гастона Жюлиа (1893-1978), который одновременно с Пьером Фату (1878-1929) в 1917-19 гг. написал основополагающие статьи по итерированию функций комплексного переменного. Еще раз мы видим впечатляющий пример математических исследований, которые далеко опередили свое время в том смысле, что потребовалось более пятидесяти лет, прежде чем компьютерная графика достигла уровня, позволяющего наблюдать эти математические объекты.

Простейшее множество Жюлиа соответствует случаю Так как то при тогда и только тогда, когда Границей этого множества, то есть множеством Жюлиа, является единичная окружность которая фракталом не является, хотя в общем случае множество Жюлиа есть фрактал. Тем не менее, функция хаотична на своем множестве Жюлиа (на единичной окружности), как было показано в главе 6.

Можно написать простую программу для построения заполняющего множества Жюлиа. Заполняющее множество Жюлиа состоит из точек, орбиты которых пойманы, в отличие от границы этого множества, которое и является настоящим множеством Жюлиа. Заполняющие множества более привлекательны визуально и именно по этой причине наиболее часто реализуются программно. Такая программа наилучшим образом работает в случае множеств Жюлиа, обладающих притягивающей периодической орбитой.

В первую очередь и в основном, мы будем изучать множества Жюлиа квадратичных функций

где с — константа в С. Такой подход не является ограниченным, как это может показаться, так как рассмотрение произвольного квадратичного полинома, скажем, , может быть сведено к указанному выше частному случаю простой заменой переменных (упр. 1 в конце данного параграфа). Множество Жюлиа для симметрично относительно горизонтальной оси. При написании программы это обстоятельство можно использовать для уменьшения объема вычислений, то есть вычислить множество Жюлиа в верхней полуплоскости, а затем отразить его на нижнюю полуплоскость. Однако в алгоритме 8.1.1 этого не делается с целью оставить возможность отображения множества на весь экран в различных масштабах. Как следует из приводимой ниже теоремы, в случае можно прекратить вычисление орбиты, как только величины достигают значения по модулю. Орбиты таких точек гарантированно стремятся к бесконечности.

Теорема 8.1.1. Предположим, что . Пусть и пусть для . Если существует такое что то имеет место

то есть орбита стремится к бесконечности и z не принадлежит множеству Жюлиа

Доказательство. Без потери общности можно предположить, что . Получаем

Пусть 6 удовлетворяет условию Исследуя производную вещественнозначной функции на интервале легко видеть, что и вследствие этого

Таким образом,

и

Для итерации получим:

и это выражение стремится к когда становится достаточно большим.

Следующая программа, записанная в псевдокодах, строит заполняющее множество Жюлиа.

Алгоритм 8.1.1. (ЗАПОЛНЯЮЩЕЕ МНОЖЕСТВО ЖЮЛИА)

Назначение: строит заполняющее множество Жюлиа для функции .

Вход:

Выход:

изображение заполняющего множества Жюлиа

Инициализация:

графический экран для окна

Шаги:

На рис. 8.1, 8.2, 8.3 и 8.4 приведены некоторые заполняющие множества Жюлиа, полученные с помощью алгоритма 8.1.1 (окно 576 х 576 пикселов).

Несложно написать программу, отображающую только граничные точки, то есть настоящее множество Жюлиа. Отличие этой программы от предыдущей заключается в том, что как только находится точка, обладающая захваченной орбитой, скажем, в пикселе с координатами , то сразу проверяются орбиты точек, являющихся четырьмя «соседями» с координатами и (), на свойство ухода в бесконечность (рис. 8.5). Если хотя бы одна из них стремится к бесконечности, то точка с координатами (j, k) помечается как элемент множества Жюлиа.

Для того чтобы сократить объем требуемой памяти, но при этом сохранить возможность доступа к уже просчитанным орбитам, можно хранить три строки (или столбца) результатов, причем значение 1 кодирует захваченные точки, а значение 0 — точки, уходящие в бесконечность. Значения средней строки проверяются с помощью описанного выше критерия для обнаружения граничных точек. Как только это проделано и полученные значения отображены на экран, запоминается новая строка, а предыдущая строка стирается. Процедура повторяется до тех пор, пока не будут обработаны все внутренние строки.

На рис. 8.6, 8.7 и 8.8 изображены несколько множеств Жюлиа, построенных по этой программе для окон 576 х 576 пикселов. Существует еще один алгоритм, наиболее подходящий для цветных изображений, известный под названием «алгоритм времени убегания», в котором цвета (или уровни черно-белого) используются для индикации относительных промежутков времени (числа итераций), необходимых для того, чтобы выполнялось условие убегания

Рис. 8.1. Заполняющее множество Жюлиа для

Рис. 8.2. Заполняющее множество Жюлиа для

Рис. 8.3. Заполняющее множество Жюлиа для

Рис. 8.4. Заполняющее множество Жюлиа для

Рис. 8.5. Тест для граничных точек

Примеры изображений, полученных таким методом, приведены на рис. 3, 4 и 6 цветной вклейки.

Упражнения 8.1.

1. Пусть и пусть . Убедитесь в том, что если то диаграмма

коммутативна, то есть

2. (Компьютерный эксперимент.) Используйте компьютер для получения изображений множеств Жюлиа для . Убедитесь в том, что если то орбита стремится к

3. (Компьютерный эксперимент.) Используйте компьютер для получения изображений множеств Жюлиа для какого-нибудь полинома от .

Рис. 8.6. Множество Жюлиа для

Рис. 8.7. Множество Жюлиа для

Рис. 8.8. Множество Жюлиа для

<< Предыдущий параграф Следующий параграф >>
Оглавление