- •Лекция 13 Фрактальные алгоритмы Геометрические фракталы
- •Алгоритмические фракталы
- •Площадные фракталы
- •Фракталы на основе метода ifs
- •Применение методов фрактальной графики
- •Программа для построения фрактала Мандельброта
- •Программа для построения фрактала Джулиа
- •Программа для построения фрактала Кох
- •Программа для построения ветки папоротника
- •Программа построения треугольника Серпинского
Применение методов фрактальной графики
Метод IFS применяется не только для создания изображений. Барнсли и Слоан использовали его для эффективного сжатия графических изображений при записи в файлы. Основная идея такова: поскольку фракталы могут представлять очень сложные изображения с помощью простых итераций, то описание этих итераций требует значительно меньшего объема информации, чем соответствующие растровые изображения. При кодировании изображения необходимо решать обратную задачу: для изображения (или его фрагмента) подобрать соответствующие коэффициенты аффинного преобразования. Этот метод используется для записи цветных фотографий в файлы со сжатием в десятки и сотни раз без заметного ухудшения изображения. Формат таких графических файлов назван FIF (Fractal Image Format) и запатентован фирмой Iterated Sistems.
Фрактальный подход нашел широкое распространение во многих областях компьютерной графики, искусства и науки. Так, появилась теория фрактальных трещин, фрактальная механика древесно-полимерных композитов и другие отрасли.
В задачах КГ фрактальная технология получила наибольшее распространение при формировании объектов природного ландшафта: линии горизонта, неровных поверхностей, холмов, гор, каньонов и прочих нерегулярных образований. Построение основано на рекурсивном разбиении исходного объекта средними точками и смещении этих точек по методу управляемой случайности. Начальные объекты выбираются из простых геометрических фигур: отрезков, треугольников, прямоугольников, тетраэдров.
Фракталы широко применяют в растровых редакторах (Adobe Photoshop, Corel Painter), в векторной (Corel Draw, Adobe Illustrator) и трехмерной (Corel Bryce, 3Dmax) графике.
Существует программа FractalWorld российского программиста Юрия Щербакова, позволяющая строить изображения фракталов, описываемых системой двух уравнений второго порядка:
x[k+1] = a1x[k]2 + a2 y[k]2 + a3 x[k] y[k] +a4 x[k] + a5 y[k] +a6;
y[k+1] = b1x[k]2 + b2 y[k]2 + b3 x[k] y[k] +b4 x[k] + b5 y[k] +b6.
Задавая коэффициенты a и b, создают непохожие изображения. Цвет точки изображения соответствует количеству итераций. Критерий завершения итераций: x2+y2>10 для заданной стартовой точки.
Классификация фрактальных алгоритмов. По принципу преобразования элементов между итерациями фрактальные алгоритмы делятся на линейные (геометрические фракталы) и нелинейные (фрактал Мандельброта).
По характеру изменения объема пространства, занимаемого фрактальными объектами, между соседними уровнями рекурсии, фракталы делятся на аддитивные (увеличивающие объем занимаемого фракталом пространства) и субтрактивные (объем занимаемого фракталом пространства уменьшается – треугольник Серпинского).
Свойства фракталов.
Прежде всего фрактал – это не линия или поверхность в виде привычных уравнений. Фракталы выражаются не в первичных геометрических формах, а в алгоритмах, которые трансформируются в геометрические формы с помощью компьютерной программы.
Характер большинства фрактальных алгоритмов преимущественно рекурсивный.
Теоретически глубина рекурсии фрактала бесконечна.
Независимо от природы и метода построения у всех фракталов есть одно важное общее свойство, характеризующее степень их раздробленности и предельные свойства. Это – фрактальная размерность. Согласно идее Мандельброта ее можно определить подсчетом числа элементов N, принадлежащих фрактальному множеству, при различных разрешениях – минимальных линейных размерах элементов.
Размерность фрактала может быть дробной
Тексты программ для построения фрактальных изображений