ЭЛЕМЕНТЫ ФРАКТАЛЬНОЙ ГРАФИКИИ УЧЕБНЫХ ДИСЦИПЛИН

реклама
ЭЛЕМЕНТЫ ФРАКТАЛЬНОЙ ГРАФИКИИ
И ИХ ИСПОЛЬЗОВАНИЕ ПРИ ЧТЕНИИ СПЕЦИАЛЬНЫХ
УЧЕБНЫХ ДИСЦИПЛИН
О.В. Дубровина, Ю. Э. Ахтямова
Белорусский государственный университет
Минск, Беларусь
E-mail: [email protected]
Работа посвящена использованию программного генератора UltraFractal для построения элементов фрактальной графики. Приведены примеры построения и настройки
конкретных изображений.
Ключевые слова: фрактал, фрактальное множество, самоподобные структуры, компьютерная графика, Ultra Fractal.
Понятие фрактала впервые было введено французским и американским
математиком Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Появление фрактальной геометрии обычно связывают с выходом его книги «Фрактальная геометрия природы» (см. [1]). В этой работе Мандельбротом были обобщены в единую систему труды и других ученых, работавших над самоподобными структурами в конце 19-го – начале 20-го веков, таких как А. Пуанкаре, П. Фату,
Г. Жюлиа, Г. Кантор, Ф. Хаусдорф.
Под фракталом (лат. fractus – дробленный, сломанный, разбитый) понимается сложная геометрическая фигура, обладающая свойством самоподобия,
то есть составленная из нескольких частей, каждая из которых подобна всей
фигуре в целом.
Согласно [2] фрактальные множества F имеют тонкую структуру, то есть
содержит произвольно малые масштабы; эти множества являются нерегулярными, что делает невозможным традиционное геометрическое их описание.
Однако в ряде случаев множество F может быть задано рекурсивно, что значительно упрощает алгоритмизацию его построения. Характерной особенностью
фрактальных множеств F является свойство самоподобия, которое может быть
явным, приближенным или статистическим. Как правило, фрактальная размерность F больше топологической.
Из возможности рекурсивного задания фрактального множества следует,
возможность его программно-алгоритмической его построения. Таким образом,
появление специализированного программного обеспечения для генерации
фрактальной графики или дополнительных модулей к программам иного
назначения было предопределено.
1
В 80-х годах 20 века К. Масгрейв положил автоматической визуализации
фракталов начало алгоритмической визуализации искусству, работая над методами реалистичных изображений с помощью фракталов [3]. После чего, на основе его алгоритмов генерации изображений появилась программа Bryce, предназначенная для трехмерного моделирования, рендеринга и анимации фрактальных пейзажей.
В настоящее время существует множество программных генераторов
фракталов, позволяющих как строить либо модифицировать традиционные
множества, применять различные алгоритмы раскраски, так и создавать новые
фрактальные структуры, задавая их аналитически либо рекуррентно.
В качестве примера подобных инструментальных средств рассмотрим
программный генератор фракталов Ultra fractal [4], являющийся одной из лучших программ для создания уникальных фрактальных изображений. Пакет
имеет удобный интерфейс пользователя и позволяет создавать множество разнообразных фрактальный конструкций. Важным является и наличие большого
количества постоянно обновляемых учебных материалов и поддерживаемого
производителем учебного портала. В качестве дополнительной привлекательной опции отметим возможность анимирования элементов фрактальной графики. Полученные изображения могут быть экспортированы в распространенные
форматы растровой графики, либо – при использовании элементов анимации –
в формат avi.
Даже для начинающего пользователя создание простейших фрактальных
изображений не представляет собой особой сложности. При этом могут быть
использованы как встроенные в пакет стандартные формул, так формулы, содержащие с модифицированные параметры. Настройка изображения проводится с помощью градиентов и режимов смешивания слоев. Кроме этого программа содержит также такие традиционные для графических пакетов инструменты,
как маски прозрачности, масштабирование, трансформация, зеркальное отражение, калейдоскоп.
Для подготовленных пользователей предлагается встроенный текстовый
редактор с поддержкой базовых шаблонов, основанных на стандартных конструкциях языка программирования фрактальных формул. Ultra Fractal позволяет подключаться к другим компьютерам в локальной сети или Интернете,
чтобы ускорить математические вычисления и процесс ренденринга. Программа автоматически распределяет наиболее оптимальным образом вычислительную нагрузку между подключенным компьютерами. Ultra Fractal также в полной мере использует возможности многопроцессорных и многоядерных систем.
Таким образом, программный пакет Ultra Fractal обеспечивает такие возможности, как:
1.
Создание собственных фракталов, алгоритмов закраски и геометрических преобразований с помощью формул. Встроенные язык формул поддерживает комплексные числа, массивы, переменные типы и цветовую арифмети2
ку. В программу включен редактор формул с подсветкой синтаксиса и оптимизирующий формульный компилятор.
2.
Создание и комбинирование слоев (по аналогии с графической системой Adobe Photoshop), которые могут содержать изображения или маски
изображений.
3.
Использование редактора градиентов, позволяющее легко создавать
различные цветовые закраски и эффекты прозрачности.
4.
Отсутствие ограничений по глубине масштабирования фрактала.
5.
Высококачественный рендеринг изображений фракталов и сохранение его в форматах JPEG, Photoshop, TIFF, PNG, Windows BMP и Targa.
6.
Создание анимированных изображений по параметрам фрактала с
произвольной длительностью и частотой кадров, сохранение их в виде последовательности изображений или видеоклипа в формате AVI.
7.
Организация и упорядочивание файлов фракталов, двусторонний
обмен с базой данных фракталов в Интернете, содержащей несколько тысяч
объектов.
8.
Полная
2000/XP/Vista/7/8.
поддержка
операционной
системы
Windows
9.
Наличие подробной справочной система (в форматах CHM и PDF,
также доступна в Интернете) и интегрированных учебников, помогающих
освоить как базовые, так и расширенные функции программы.
10.
Поддержка распределенных вычислений.
Примеры использования стандартных инструментов генератора Ultra
Fractal приведены на рисунках 1 и 2.
Для построения пользовательских фигур в программе Ultra Fractal существуют три типа вычислительных алгоритмов: фрактальные формулы; окраска
алгоритмов; формулы трансформаций. Эти алгоритмы реализованы в виде специализированных модулей, которые размещаются в текстовых файлах с расширениями *.umf для формулы фрактала, *.ucl для файла окраски, и *.uxf для
файла трансформации.
3
Рис. 1 – Интерфейс программы Ultra Fractal
Рис. 2 – Фрактал Мандельброта, сгенерированный в программе
Ultra Fractal
4
Рассмотрим модельный пример построения пользовательского фрактала. В
качестве базового фрактала был выбран фрактал Жюлиа, Множество Жюлиа
J  f  определяется как граница множества точек, стремящихся к бесконечности
при итерировании комплексной аналитической функции f(z):


J  f    z : f  n   z   , n   ,
где f n   z  – n-я производная функции комплексного аргумента f  z  .
В построении фрактала для первого модуля, реализованного в графической
системе Ultra Fractal, был выбран один из видов фрактала Жюлиа – Round Julia,
Для реализации был создан дополнительный программный модуль, результатом выполнения которого является фрактал Round Julia, приведенный на
рисунке 3. В результате было задано исходное расположение базового рисунка
– цветов.
Рис. 3 – Фрактал Round Julia
Далее построенный фрактал Round Julia был подвергнут дополнительной
обработке в пакете Ultra Fractal, масштабирован, и раскрашен стандартным колорирующим алгоритмом пакета ldm-Thingamajigs, благодаря которому у «цветов» появились лепестки. Действия заключались в настройке 15 слоев изображения в различных режимах и градиентах, которые были наложены друг на
друга. На рис. 4 представлен итоговый результат
5
Рис 4. – Модифицированный фрактал Round Julia
В качестве другого примера построения и раскраски фракталов в пакете
Ultra Fractal, рассмотрим модификацию фрактала Ньютона, задаваемого в общем случае рекуррентной формулой
6
Z i 1  Z i 
pZ i 
,
p' Z i 
где z – произвольная точка комплексной плоскости, которая является начальной в алгоритме построения фрактала Ньютона, z i – i-тое приближение комплексной точки z , z i 1 – i+1-ое приближение комплексной точки Z , p z  – заданная аналитическая функция, которая определяет конфигурацию фрактала,
p  z i  – ее значение в точке z i , p'  z i  – значение производной функции p z  в
точке z i .
В настоящем примере в качестве функции p z  был выбран многочлен
третей степени p z   z 3  1. Таким образом формула для задания фрактальной
структуры имеет вид
Z i 1  Z i 
z i3  1
z i2
.
На рисунке 5 приведен фрактал Ньютона без дополнительных модификаций.
Рис. 5 – Фрактала Ньютона
Программный модуль для построения модифицированного фрактала Ньютона построения был реализован также в графической системе Ultra Fractal. В
качестве раскраски был использован алгоритм «Ляпунов», который вычисляет
7
экспоненту Ляпунова для множества Мандельброта. Результат исполнения программного модуля представлен на рис. 5
Рис. 5 – Модификация и раскраска фрактала Ньютона
Приведенные примеры показывают, что фрактальные изображения являются эффектными элементами компьютерной графики, при этом имеющими
эффективные алгоритмы реализации. В настоящее время эти элементы широко
используют в видеоинсталляциях, моушн-дизайне, графическом дизайне, при
оформлении помещений и в декоративном искусстве.
Неоднократно было замечено, ряд естественных природных объектов обладает схожими с фракталами структурами. Границы облаков, границы морских побережий, трещины в некоторых горных породах, турбулентные потоки
в жидкостях, зимние узоры на стекле, структуры некоторых веществ, полученные с помощью электронного микроскопа, кровеносная система сердечной
мышцы имеют регулярно повторяющиеся масштабированные элементы. Это
обуславливает факт активного использования самоподобных структур в современной компьютерной графике, для моделирования и визуализации таких природных явлений природы (см., например, [5]). В игровой индустрии фрактальные алгоритмы применяются для отображения горной местности и ландшафтов.
8
Кроме рассмотренного в данной работе программного генератора Ultra
Fractal отметим наличие других инструментальных средств, например, пакетов
Apophysis 7x, Chaos Pro, Mandelbulb 3D, Fractal Explorer.
Подобное программное обеспечение может быть использовано в учебном
процессе как в виде одного из разделов курсов «Компьютерная графика»,
«Мультимедийные системы и среды» специальности «Прикладная информатика» направления «Веб-программирование и компьютерный дизайн», так и в качестве разделов специальных курсов для студентов, обучающихся на специальностях другого профиля. Изображения фрактальной графики могут быть использованы как элементы компьютерного и декоративного дизайна в курсовых
и дипломных проектах.
ЛИТЕРАТУРА
1. Мандельброт, Б Фрактальная геометрия природы = The Fractal Geometry of Nature / Б.
Мандельброт. – Мн.: Книжный дом, 2001. – 656 с.
2. Морозов А.Д. Введение в теорию фракталов / А.Д. Морозов. – М.: Институт компьютерных исследований, 2002. – 160 с.
3. Шахов, Д. Фрактал-арт [Электрон. ресурс]. – 2013. – Режим доступа: http://mrush.ru/component/k2/fraktal-art.html
4. http://www.ultrafractal.com/
5. Федер, Е. Фракталы. / Е. Федер. – М.: Мир, 1991. – 261 с.
9
Скачать