Новый взгляд на мир [Фрактальная геометрия] (Мир математики. т.10.) - страница 42

стр.



Орбиты для некоторых точек при с = 0,5 + 0,5i.

В верхней таблице орбиты всех точек уходят в бесконечность. В нижней таблице все орбиты стремятся к определенной неподвижной точке (-0,409, 0,275).


При рассмотрении таблиц можно увидеть, что если начальная точка очень удалена от центра, то есть модуль ее радиус-вектора очень велик, то орбита этой точки будет уходить в бесконечность. Но начиная с какого значения выполняется это правило? К счастью, на этот вопрос существует точный ответ. В общем случае радиус окружности будет наибольшим из двух чисел: 2 и модуля с. Любая орбита, начальная точка которой лежит вне этой окружности, будет уходить в бесконечность. Этот результат крайне важен для определения множества Мандельброта, что мы продемонстрируем несколько позже.

На основе этого факта можно разработать алгоритм, который позволит точно определить множество точек-«пленников». Первым приближением границы для с = 0,5 + 0,5i будет окружность радиуса 2. Если мы запрограммируем этот алгоритм так, что он будет обрабатывать пиксели экрана (каждой точке будет соответствовать пиксель), то получим очень большое множество точек (в зависимости от выбранной точности). Тем не менее это множество будет конечным. Компьютер вычислит значение выражения на первой итерации и пометит определенным цветом точки, которые уже на первой итерации оказались вне окружности радиуса 2. Остальные точки будут помечены черным цветом. Граница множества черных точек будет вторым приближением множества Жюлиа. Для оставшихся черных точек (на каждой итерации их будет все меньше) произведем вторую итерацию вычислений и выделим цветом точки, которые окажутся вне круга радиуса 2. Остальные точки по-прежнему будут черного цвета.

Эти действия будут повторяться для всех точек черного цвета, которых с каждым разом будет становиться все меньше, пока изменения множества черных точек не станут неразличимы на экране. Этот алгоритм, который называется алгоритмом времени убегания (escape time), для с = —1 дает следующее изображение множества Жюлиа:



Множество Жюлиа, соответствующее с = -1 с последовательными приближениями (изображены в виде линий вокруг множества точек черного цвета), рассчитанными по алгоритму времени убегания.


Различным значениям с соответствуют различные множества Жюлиа:



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

На основании этой классификации можно разделить значения константы с, которую мы будем называть комплексным параметром, на два отдельных множества: те, которые порождают связные фигуры для итерации z>n >+>1 = z>2 + с, и те, что порождают несвязные фигуры.


ИГРА В ХАОС

Алгоритм нахождения последовательных приближений множества Жюлиа работает очень медленно. Чтобы быстро получить достаточно детальное изображение множества Жюлиа, обычно используется другой алгоритм, который носит название игры в хаос. В предыдущей главе мы говорили о так называемых аффинных преобразованиях, которые при итеративном применении дают линейный фрактал. Теперь нам понадобится найти преобразования, которые при итеративном применении дают множество Жюлиа. Однако эти преобразования не могут быть аффинными, так как множества Жюлиа не обладают линейным самоподобием. В свою очередь, когда к точкам, находящимся вблизи множества Жюлиа (и вне его) применяются итеративные преобразования z —> z>2 + с, орбита этих точек уходит в бесконечность. Иными словами, множество Жюлиа выступает в роли репеллера. Если же теперь мы рассмотрим обратное преобразование, то множество Жюлиа будет уже не репеллером, а аттрактором. Как записывается это обратное преобразование? Пусть w — следующая точка итерации w = z>2 + с. Если мы хотим перейти к предыдущей операции, нужно выделить z из этого уравнения. Получим два решения:

z = +√(wc);

= -√(wc).

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