Алгебраические фракталы
Это самая крупная группа фракталов. Получают их с помощью нелинейных процессов в n -мерных пространствах. Наиболее изучены двухмерные процессы. Интерпретируя нелинейный итерационный процесс, как дискретную динамическую систему, можно пользоваться терминологией теории этих систем: фазовый портрет, установившийся процесс, аттрактор и т.д. Известно, что нелинейные динамические системы обладают несколькими устойчивыми состояниями. То состояние, в котором оказалась динамическая система после некоторого числа итераций, зависит от ее начального состояния. Поэтому каждое устойчивое состояние (или как говорят - аттрактор) обладает некоторой областью начальных состояний, из которых система обязательно попадет в рассматриваемые конечные состояния. Таким образом, фазовое пространство системы разбивается на области притяжения аттракторов. Если фазовым является двухмерное пространство, то, окрашивая области притяжения различными цветами, можно получить цветовой фазовый портрет этой системы (итерационного процесса). Меняя алгоритм выбора цвета, можно получить сложные фрактальные картины с причудливыми многоцветными узорами. Неожиданностью для математиков стала возможность с помощью примитивных алгоритмов порождать очень сложные нетривиальные структуры. В качестве примера рассмотрим множество Мандельброта (см. pис.2 и рис.3). Алгоритм его построения достаточно прост и основан на простом итеративном выражении: Z [i+1] = Z [i] * Z [i] + C, где Z i и C - комплексные переменные. Итерации выполняются для каждой стартовой точки C прямоугольной или квадратной области - подмножестве комплексной плоскости. Итерационный процесс продолжается до тех пор, пока Z [i] не выйдет за пределы окружности радиуса 2, центр которой лежит в точке (0,0), (это означает, что аттрактор динамической системы находится в бесконечности), или после достаточно большого числа итераций (например, 200-500) Z [i] сойдется к какой-нибудь точке окружности. В зависимости от количества итераций, в течение которых Z [i] оставалась внутри окружности, можно установить цвет точки C (если Z [i] остается внутри окружности в течение достаточно большого количества итераций, итерационный процесс прекращается, и эта точка растра окрашивается в черный цвет). Вышеописанный алгоритм дает приближение к так называемому множеству Мандельброта. Множеству Мандельброта принадлежат точки, которые в течение бесконечного числа итераций не уходят в бесконечность (точки, имеющие черный цвет). Точки, принадлежащие границе множества (именно там возникает сложные структуры) уходят в бесконечность за конечное число итераций, а точки лежащие за пределами множества, уходят в бесконечность через несколько итераций (белый фон). Над комплексным числом можно производить следующие арифметические действия: - модуль комплексного числа; - квадрат комплексного числа; (a+ib)+(c+id) = (a+c)+ i (b+d) - сумма комплексных чисел; (a+ib)·(c+id) = (a · c-b · d)+ i (a · d+c · b) - произведение комплексных чисел; (a+ib)/(c+id) = (ac+bd)/(c 2+ d 2)+ i ((cb - ad)/(c 2+ d 2)) - частное.
Для создания фрактала, необходимо для каждой точки изображения выполнить цикл итераций согласно ПравилуПреобразования(zn). Стартовое значение Z 0= x0 + iy0, где x0, y0 - координаты точки изображения, для которой выполняется цикл. Он выполняется ограниченное число раз (не более MAXCOLOR раз), или до тех пор, пока не выполнится условие завершения цикла. Схема вычисления функций имеет следующий вид: n:=0; z0:=z; while (УсловиеПродолжения(zn)&&(n<MAXCOLOR)) do begin zn+1:=ПравилоПреобразования(zn); inc(n); end; Значение n - количества выполненных итераций цикла интерпретируется как цвет точки изображения, для которой выполнялся цикл.
|