Создание программы для построения фракталов пример. Фрактальные графические редакторы. Программы фрактальной графики

В лесах фрактальной графики. Часть 2

Дмитрий Шахов, фрилансер, г.Москва

В данной статье мы с вами поговорим о генераторах фракталов. Как известно, визуализация, или построение фрактального рисунка, осуществляется по какому-либо алгоритму или путем автоматической генерации изображений при помощи вычислений по конкретным формулам.

Дальнейшие изменения значений в алгоритмах или коэффициентах в формулах приводят к модификации этих изображений. Существуют генераторы фракталов, которые, в принципе, своим возникновением обязаны исследованиям фрактальной геометрии Бенуа Мандельброта, а также его совместным работам в области информатики с Ричардом Фоссом и Кеном Масгрейвом. В 1977 году Бенуа Мандельброт написал книгу «Фрактальная геометрия природы». В ней он подробно рассказал, как ручными математическими инструментами нарисовать сложный и красивый самоподобный узор.

Однако вычислительные инструментальные средства с автоматизированными вычислениями и выводом на печать позволили обойти бесконечные расчеты и операции с логарифмическими линейками вследствие очень быстрых итеративных операций. В 1980-е годы Кен Масгрейв трудился над методом реалистичных изображений ландшафтов с помощью математического аппарата фракталов. Во многом благодаря его работам и возникло так называемое алгоритмическое искусство. В дальнейшем на основе его алгоритмов генерации изображений была создана такая известная программа, как Bryce («Брайс»), предназначенная для 3D-моделирования, рендеринга и анимации и специализирующаяся на генерировании фрактальных пейзажей. Кроме того, в 1985 году журнал Scientific American представил алгоритм для вычисления множества Мандельброта для широкой аудитории. Таким образом, в 1980-е годы и были заложены первые кирпичики разросшегося сегодня направления в компьютерной графике.

В настоящее время существует достаточно большое количество программ для визуализации фракталов, проще говоря — фракталогенераторов. Но начнем мы, пожалуй, с одной из самых популярных и любимых фрактальщиками всего мира программ —Apophysis.

Apophysis («Апофиз») (от греч . apofusiV — отросток) — редактор фрактальной графики (рис. 1) с открытым исходным кодом для визуализации в Microsoft Windows (также поддерживается Linux или Mac OS). Разработан Марком Таунсендом и переведен с языка С на язык программирования Delphi Скоттом Дрейвсом с добавлением графического пользовательского интерфейса. Очень распространенная в настоящее время среди цифровых художников программа Apophysis 7X является логическим продолжением более ранней версии программы Apophysis, от которой она отличается более многочисленными усовершенствованиями функций и пользовательского интерфейса, поддержкой большого количества встраиваемых плагинов и усовершенствованным кодом.

Следует отметить, что «Апофиз» визуализирует фракталы с помощью алгоритма, именуемого Fractal flames (дословно «фрактальное пламя» или «фрактальные искры»). Именно этот алгоритм был разработан Скоттом Дрэйвсом и, по сути, является частью метода «систем итерируемых функций».

Метод «систем итерируемых функций» (Iterated Functions System, IFS) появился в середине 1980-х годов как простое средство для получения фрактальных структур. IFS представляет собой систему функций из некоторого фиксированного класса функций, отображающих одно многомерное множество на другое. Наиболее простая IFS состоит из аффинных преобразований плоскости.

В 1988 году известные американские специалисты в теории динамических систем и эргодической теории Барнсли и Слоан предложили некоторые идеи, основанные на соображениях теории динамических систем, для сжатия и хранения графической информации и сформулировали их в виде метода фрактального сжатия информации. Происхождение названия связано с тем, что геометрические образы, возникающие в этом методе, обычно имеют фрактальную природу в смысле Мандельброта.

На основании своих идей Барнсли и Слоан создали алгоритм, который, по их утверждению, позволит сжимать информацию в 500-1000 раз. Вкратце метод можно описать следующим образом. Изображение кодируется несколькими простыми преобразованиями (в нашем случае аффинными), то есть коэффициентами этих преобразований (в нашем случае A, B, C, D, E и F).

Например, закодировав какое-то изображение двумя аффинными преобразованиями, мы однозначно определяем его с помощью 12 коэффициентов. Если теперь задаться какой-либо начальной точкой (например, X = 0, Y = 0) и запустить итерационный процесс, то после первой итерации мы получим две точки, после второй — четыре, после третьей — восемь и т.д. Через несколько десятков итераций совокупность полученных точек будет описывать закодированное изображение. Но проблема состоит в том, что очень трудно найти коэффициенты IFS, которые кодировали бы произвольное изображение.

Кроме аффинных, для построения IFS применяют и другие классы простых геометрических преобразований, которые задаются небольшим числом параметров. Например, проективные или квадратичные преобразования на плоскости.

Алгоритм Fractals flames отличается от IFS по следующим пунктам:

Итерация нелинейных функций вместо аффинных преобразований;

Отображение журнала плотности вместо линейной или бинарной;

Окрашивание по структуре (то есть по пройденным рекурсивным путям) вместо монохромного окрашивания или окрашивания по плотности.

На основе этого же алгоритма работают и некоторые другие генераторы фракталов, например JWildFire — мощный редактор фрактальной графики. По функциональности его можно сравнить с Apophysis. Так же как и Apophysis, JWildFire работает с флеймами, но в отличие от «Апофиза», написанного на Delphi, он написан на языке Java.

Другой известной программой является Fractal Explorer (рис. 2), которая позволяет создавать фракталы, основанные на классических множествах (множество Мандельброта, множество Жюлиа, множество Ньютона и их вариации), а также на некоторых других. Например, комплексные 4D-фракталы (фракталы, основанные на кватернионах), «странные» 3D-аттракторы, а также IFS-системы. Кроме того, в Fractal Explorer предусмотрено множество функций для создания различных эффектов и улучшения качества генерируемых изображений.

Следующая программа — Ultra Fractal — написана на Delphi и позволяет создавать изображения фрактальных множеств (рис. 3), а также выполнять их анимацию. Процесс построения изображений в ней определяется набором алгоритмов, описывающих разновидности визуализируемых фракталов, методы их раскраски и применяемые к ним трансформации. По принципу генерации программа практически не отличается от Fractal Explorer. Указанные алгоритмы представляются в виде текстовых файлов, написанных на специальном языке программирования, поддерживающем такие базовые конструкции, как массивы, функции, циклы и классы. Модульная архитектура написания алгоритмов позволяет пользователю создавать собственные.

Аналогично Adobe Photoshop, программа Ultra Fractal умеет работать с альфа-каналами, слоями и масками, что позволяет легко комбинировать различные фрагменты изображений.

Помимо вышеназванных программ существует довольно много генераторов, общей отличительной особенностью которых является создание 2D- или псевдо-3D-изображений. Но есть и другие программы — фракталогенераторы, выполняющие визуализацию на основе трассировки лучей, а следовательно, создающие трехмерные изображения.

Одним из самых популярных среди «фрактальщиков» 3D-фракталогенератором является программа Mandelbulb 3D, которая представляет собой фрактальный рэй трейсер и позволяет работать с трехмерными фракталами (рис. 4). Множество настроек, включая настройки цвета, освещения, постобработки, глубины и т.д., позволит оптимально реализовать творческий замысел и обеспечит необходимую гибкость при работе. Программа поддерживает анимацию, является бесплатной и постоянно обновляемой. По сути, она работает на основе множества формул или алгоритмов, постоянно обновляемых разработчиками и пользователями и с трассировкой лучей. Mandelbulb — это трехмерный аналог множества Мандельброта, которое было впервые теоретически описано Пьером Фату в 1905 году и получено Бенуа Мандельбротом в 1975-м с помощью машинных устройств, недоступных П. Фату, и является двумерным. К концу 2007 года небольшой группой энтузиастов с форумов было принято решение о разработке алгоритмов и программного обеспечения для рендеринга 3D-фракталов на основе множества Мандельброта. Визуализация первых фракталов была неимоверно трудной из-за малого количества доступной в то время машинной памяти, а также отсутствия пользовательского интерфейса. После добавления интерфейса и многих других формул были разработаны Mandelbulb 3D и Mandelbulber, которые в настоящее время считаются одними из передовых в этой области программных средств.

Термин «рэй трейсер» переводится на русский язык как «трассировщик лучей», то есть данная программа при построении фрактальной сцены и для достижения фотографической реалистичности использует технологию трассировки лучей (рис. 5). Рассмотрим вкратце эту технологию. Основная идея трассировки лучей заключается в следующем: для каждого пиксела на дисплее движок рендеринга проводит прямой луч от глаза наблюдателя до элемента выводимой сцены. Первое пересечение используется для определения цвета пиксела как функции пересекаемой поверхности элемента. В дальнейшем необходимо определить освещение пиксела, что требует проведения вторичных лучей. В отличие от первичных лучей, которые определяют видимость разных объектов, составляющих сцену, вторичные лучи проводятся от точек пересечения к разным источникам света. При их блокировке объектом данная точка находится в тени, которую отбрасывает источник света. Для получения наиболее реалистичного рендеринга необходимо учитывать характеристики отражения и преломления материала, а для расчета финального цвета пиксела нужно проводить лучи отражения и преломления.

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

Однако есть и свои минусы. Одним из самых значимых недостатков трассировки лучей является медленность визуализации (рендеринга). Например, тот же рэй трейсер Mandelbulb 3D визуализирует изображение с большим количеством лучей и разрешением 4000 пикселов по длинной стороне около 30 мин, при увеличении детализации, а следовательно, и количества лучей рендеринг выполняется еще дольше. Если же оперировать значениями и таких параметров, как расчет жестких теней, расчет окружения, отражения и глубины поля зрения (FOV), то расчет итогового изображения увеличится пропорционально количеству лучей, и это несмотря на мощные и современные процессоры. Другой проблемой метода трассировки лучей является сглаживание. При трассировке лучи не учитывают реальные размеры. Прямым следствием такого эффекта будет появление «лесенок», что частично можно разрешить суперсэмплингом или рендерингом в большом разрешении, но опять же необходимо помнить о медленности рендеринга.

Другим не менее мощным и прогрессивным инструментом для генерации трехмерных фракталов является программа Mandelbulber — экспериментальное приложение, разработанное для создания и работы с 3D-фракталами Мандельброта, а также с некоторыми другими видами 3D-фракталов, например Mandelbox, Bulbbox, Juliabulb, губка Менгера, Quaternion, тригонометрическими, гиперкомплексными и IFS, причем все формулы могут быть объединены в бесконечных вариациях. Особенности программы: великолепная гибкость в работе с 3D-фракталами, работа с освещением, тенями, цветом, поддержка эффектов ambient-окклюзии, глубины резкости и т.д. Неограниченное разрешение изображения на 64-битных системах. Простой в применении 3D-навигатор по фракталу. Программа поддерживает анимацию и абсолютно бесплатна. Mandelbulber, так же как и Mandelbulb 3D, использует трассировку лучей для отрисовки 3D-фракталов. Но вместо того, чтобы лучи проходили всю дистанцию между камерой и ближайшей поверхностью непрерывно, они проходят это расстояние дискретно. На каждом шагу моделируется рассеяние. Конечный результат представляет собой синтез различных состояний рассеяния вдоль всей длины луча.

Наряду с Mandelbulber и Mandelbulb 3D существует еще несколько программ, позволяющих визуализировать трехмерные фракталы, — Xenodream, Fragmentarium, Incendia, Chaoscope и др.

Хочется надеяться, что данная публикация оказалась для вас интересной, а главное — полезной. Ее целью было познакомить вас с основными и популярными сегодня программами-фракталогенераторами, а также с принципами их работы. Несмотря на ограниченное количество таких программ, возможности, которые они предлагают, практически неограниченны. Алгоритмы их работы и математический аппарат фракталов позволяют строить в этих программах самые фантастические фрактальные пейзажи, сцены и формы. И хотя большинство фракталогенераторов весьма просты в освоении, не стоит ждать, что, открыв впервые какую-нибудь программу, вы сразу сотворите в ней чудесный-расчудесный фрактал. Чтобы добиться хороших, красивых результатов в таком искусстве, как рисование фракталов, нужно терпение и много практики. Впрочем, как и везде. А посему всем удачи и творческого вдохновения в освоении программ и фрактального искусства в целом.

Наверное, сложно найти людей, которых бы не завораживало созерцание фрактальной графики - в ее таинственных элементах кому-то может представляться ночное пламя костра, кому-то - длинные плети колышущихся водорослей в толще воды, кому-то - целое таинство Вселенной.
Но так или иначе фрактальная графика однозначно притягивает наши взоры, а программные пакеты для ее создания могут стать той ступенькой, которая позволит приблизиться к настоящему фрактальному творчеству, тем более что все они сравнительно просты в освоении.
С использованием фракталов могут строиться не только ирреальные изображения, но и вполне реалистичные (например, фракталы нередко используются при создании облаков, снега, береговых линий, деревьев и кустов и др.). Поэтому применять фрактальные изображения можно в самых разных сферах, начиная от создания обычных текстур и фоновых изображений и кончая фантастическими ландшафтами для компьютерных игр или книжных иллюстраций. А создаются подобные фрактальные шедевры (равно как и векторные) путем математических расчетов, но в отличие от векторной графики базовым элементом фрактальной графики является сама математическая формула - это означает, что никаких объектов в памяти компьютера не хранится, и изображение (как бы ни было оно замысловато) строится исключительно на основе уравнений.
1. Программа Art Dabbler
Знакомство с основами фрактальной графики лучше всего начать с пакета Art Dabbler. Этот редактор (созданный фирмой Fractal Design, а теперь принадлежащий Corel) фактически представляет собой усеченный вариант программы Painter. Это отличная программа для обучения не только компьютерной графике, но прежде всего азам рисования. Малый объем требуемой памяти (для его установки необходимо всего 10 Мбайт), а также простой интерфейс, доступный даже ребенку, позволяют использовать его в школьной программе. Как и растровый редактор MS Paint, фрактальный редактор Art Dabbler особенно эффективен на начальном этапе освоения компьютерной графики.
Главное внимание разработчиками пакета Art Dabbler было уделено двум факторам:
  • созданию упрощенного интерфейса, основным элементом которого являются коробки инструментальных наборов (называемых здесь выдвижными ящиками);
  • возможности использования пакета в качестве обучающей программы. Для реализации этой цели в комплект поставки пакета наряду с самой программой включен самоучитель "Учись рисовать" и обучающий фильм на компакт-диске. Предлагаемые в них уроки рисования позволяют шаг за шагом наблюдать за процессом создания опытными художниками цветных изображений средствами пакета Art Dabbler.
Строка меню включает в себя шесть пунктов: стандартные для большинства программ - File, Edit и Help, а также Effects, Options и Tutors, которые присутствуют в большинстве графических программ и не нуждаются в дополнительных комментариях.
Art Dabbler предоставляет комплект эффектов (меню Effects), которые могут быть использованы для изменения или искажения изображений. Например, эффект Texturize создает текстуры бумаги, холста и т.п., расширяя творческие возможности художника.
Следует отметить, что в Art Dabbler выдвижными ящиками называются все инструментальные средства точно так же, как, например, в Photoshop аналогичные средства называются палитрами, а в CorelDRAW - докерами. В них хранятся кисти, карандаши, резинка и другие инструменты, для активизации которых достаточно нажать соответствующую им пиктограмму. На передних стенках ящиков отображается небольшое количество кнопок и ручка, нажав которую пользователь получает доступ ко всему набору осуществляемых через него операций благодаря открывающимся дополнительным кнопкам.
Скачать
2. Программа Ultra Fractal
Ultra Fractal - лучшее решение для создания уникальных фрактальных изображений профессионального качества. Пакет отличается дружественным интерфейсом, многие элементы которого напоминают интерфейс Photoshop (что упрощает изучение), и сопровождается невероятно подробной и прекрасно иллюстрированной документацией с серией туториалов, в которых поэтапно рассматриваются все аспекты работы с программой. Ultra Fractal представлен двумя редакциями: Standard Edition и расширенной Animation Edition, возможности которой позволяют не только генерировать фрактальные изображения, но и создавать анимацию на их основе. Созданные изображения можно визуализировать в высоком разрешении, пригодном для полиграфии, и сохранить в собственном формате программы или в одном из популярных фрактальных форматов. Визуализированные изображения также могут быть экспортированы в один из растровых графических форматов (jpg, bmp, png и psd), а готовые фрактальные анимации - в AVI-формат.
Принцип создания фрактальных изображений достаточно традиционен, самое простое - воспользоваться одной из прилагаемых в поставке формул (сориентироваться относительно возможного вида генерируемого по выбранной формуле изображения поможет встроенный браузер), а затем подредактировать параметры формулы желаемым образом. А если эксперимент оказался неудачен, то последние действия легко отменить. Готовых фрактальных формул очень много, и число их может быть расширено путем скачивания новых формул с сайта программы. Подготовленные пользователи могут попытать счастья и в создании собственной формулы, для чего в пакете имеется встроенный текстовый редактор с поддержкой базовых шаблонов, основанных на стандартных конструкциях языка программирования фрактальных формул.
Однако не стоит думать, что таинство фрактального изображения кроется лишь в удачной формуле. Не менее важны и иные аспекты. Например, цветовая настройка, предполагающая выбор варианта окраски и точную настройку ее параметров. Настройка цвета реализована на уровне солидных графических пакетов, например градиенты можно создавать и настраивать самостоятельно, корректируя множество параметров, включая полупрозрачность, и сохранять их в библиотеке для дальнейшего использования. Применение слоев с возможностью изменения режимов их смешивания и корректировкой полупрозрачности позволяет генерировать многослойные фракталы и за счет наложения фрактальных изображений друг на друга добиваться уникальных эффектов. Использование масок непрозрачности обеспечивает маскирование определенных областей изображения. Фильтры трансформации позволяют выполнять в отношении выделенных фрагментов изображения разнообразные преобразования: масштабировать, зеркально отражать, обрезать по шаблону, искажать посредством завихрения или ряби, размножать по принципу калейдоскопа и т.д.
Скачать
3. Программа Fractal Explorer


Fractal Explorer - программа для создания изображений фракталов и трехмерных аттракторов с достаточно впечатляющими возможностями. Имеет интуитивно понятный классический интерфейс, который может быть настроен в соответствии с пользовательскими предпочтениями, и поддерживает стандартные форматы фрактальных изображений (*.frp; *.frs; *.fri; *.fro; *.fr3, *.fr4 и др.). Готовые фрактальные изображения сохраняются в формате *.frs и могут быть экспортированы в один из растровых графических форматов (jpg, bmp, png и gif), а фрактальные анимации сохраняются как AVI-файлы.
Генерация фракталов возможна двумя способами - на основе базовых фрактальных изображений, построенных по входящим в поставку формулам, или с нуля. Первый вариант позволяет получить интересные результаты сравнительно просто, ведь выбрать подходящую формулу несложно, тем более что удобный файловый браузер позволит оценить качество фрактала из базы еще до создания на его основе фрактального изображения. У полученного таким путем фрактального изображения можно сменить цветовую палитру, добавить к нему фоновое изображение и определить режим смешивания фрактального и фонового слоев, а также степень прозрачности фрактального слоя. Затем можно будет подвергнуть фрактальное изображение трансформации, при необходимости масштабировать, определить размеры изображения и провести рендеринг. Создание изображения с нуля гораздо сложнее и предполагает выбор одного из двух способов. Можно выбрать тип фрактала почти из 150 вариантов. А затем уже перейти к изменению разнообразных параметров: настройке палитры, фона и пр. А можно попробовать создать свою пользовательскую формулу, воспользовавшись встроенным компилятором. Перед рендерингом готового изображения может потребоваться проведение автоматической коррекции цветового баланса и/или ручной коррекции яркости, контрастности и насыщенности.
Скачать
4. Программа ChaosPro
ChaosPro - один из лучших бесплатных генераторов фрактальных изображений, с помощью которого нетрудно создать бесконечное множество удивительных по красоте фрактальных изображений. Программа имеет очень простой и удобный интерфейс и наряду с возможностью автоматического построения фракталов позволяет полностью управлять данным процессом за счет изменения большого количества настроек (число итераций, цветовая палитра, степень размытия, особенности проецирования, размер изображения и др.). Кроме того, создаваемые изображения могут быть многослойными (режимом смешивания слоев можно управлять) и к ним можно применить целую серию фильтров. Все накладываемые на строящиеся фракталы изменения тут же отражаются в окне просмотра. Созданные фракталы могут быть сохранены в собственном формате программы, либо в одном из основных фрактальных типов благодаря наличию встроенного компилятора. Или экспортированы в растровые изображения или 3D-объекты (если предварительно было получено трехмерное представление фрактала).
В списке возможностей программы:
  • точная цветовая настройка, обеспечивающая плавные градиентные переходы цветов друг в друга;
  • одновременное построение нескольких фракталов в разных окнах;
  • возможность создания анимации на основе фрактальных изображений с определением ключевых анимационных фаз, которые могут отличаться по любому изменяемому параметру: углам поворота и вращения, цветовым параметрам и пр.;
  • создание трехмерных представлений фракталов на основе обычных двумерных изображений;
  • поддержка многих стандартных форматов фрактальных изображений, изображения в которых могут быть импортированы и отредактированы в среде ChaosPro.
Скачать
5. Программа Apophysis
Apophysis - интересный инструме
нт для генерации фракталов на основе базовых фрактальных формул. Созданные по готовым формулам фракталы можно редактировать и неузнаваемо изменять, регулируя разнообразные параметры. Так, например, в редакторе их можно трансформировать, либо изменив лежащие в основе фракталов треугольники, либо применив понравившийся метод преобразования: волнообразное искажение, перспективу, размытие по Гауссу и др. Затем стоит поэкспериментировать с цветами, выбрав один из базовых вариантов градиентной заливки. Список встроенных заливок достаточно внушителен, и при необходимости можно автоматически подобрать наиболее подходящую заливку к имеющемуся растровому изображению, что актуально, например, при создании фрактального фона в том же стиле, что и иные изображения некоего проекта. При необходимости несложно подрегулировать гамму и яркость, изменить фон, масштабировать фрактальный объект и уточнить его расположение на фоне. Можно также подвергнуть результат разнообразным мутациям в нужном стиле. По окончании следует задать размеры конечного фрактального изображения и записать его визуализированный вариант в виде графического файла (jpg, bmp, png).
Скачать
6. Программа Mystica
Mystica - универсальный генератор уникальных фантастических двумерных и трехмерных изображений и текстур, которые в дальнейшем можно использовать в разных проектах, например в качестве реальных текстур для Web-страниц, фонов Рабочего стола или фантастических фоновых изображений, которые могут быть задействованы, например, при
оформлении детских книг. Пакет отличается нестандартным и достаточно сложным интерфейсом и может работать в двух режимах: Sample (ориентирован на новичков и содержит минимум настроек) и Expert (предназначен для профессионалов). Создаваемые изображения могут иметь любой размер и затем экспортироваться в популярные графические 2D-форматы. Прямо из окна программы их можно отправить по электронной почте, опубликовать в Html-галерее или создать на их основе видеоролик в форматах divx, mpeg4 и др. Встроенный трехмерный движок программы может быть использован при создании трехмерных сцен для компьютерных игр, например фантастических фонов и ландшафтов.
Генерация изображений осуществляется на основе заложенных в пакете фрактальных формул, а система подготовки изображения многоуровневая и включает очень подробную настройку цветов, возможность простейших трансформаций генерируемых элементов и массу прочих преобразований. В их числе применение фильтров, изменение освещения, корректировка цветовой гаммы, яркости и контрастности, изменение использованного при генерации материала, добавление к изображению "хаотических" структур и пр.
Скачать
Фрактальные изображения применяются в самых разных сферах, начиная от создания обычных текстур и фоновых изображений и кончая фантастическими ландшафтами для компьютерных игр или книжных иллюстраций. Создаются фрактальные изображения путем математических расчетов. Базовым элементом фрактальной графики является сама математическая формула - это означает, что никаких объектов в памяти компьютера не хранится, и изображение строится исключительно на основе уравнений.
Таинство фрактального изображения не кроется лишь в одной удачной формуле. Не менее важны и иные аспекты. Например, цветовая настройка, фильтры трансформации и др.
Существует очень много программ по созданию фрактальных изображений. Эти программы имеют свои достоинства и недостатки. С развитием технологий количество программ увеличивается, а их качество и возможности улучшаются.

Трёхмерная графика оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх. В трёхмерной компьютерной графике все объекты представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.

Всеми визуальными преобразованиями в 3D -графике управляют три вида матрицы: поворота, сдвига и масштабирования. Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z ). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/промасштабированный относительно исходного.

Трёхмерная графика нашла широкое применение в таких областях, как научные расчеты, инженерное проектирование, компьютерное моделирование физических объектов, реального физического тела.

Рис. 6. Пример 3D -графики.Рис. 7. Пример фрактала

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

1.5 Фрактальная графика

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

Фракталы позволяют описывать целые классы изображений, для детального описания которых требуется относительно мало памяти. С другой стороны, к изображениям вне этих классов, фракталы применимы слабо.

Фрактал - объект бесконечной сложности, позволяющий рассмотреть столько же своих деталей вблизи, как и издалека. Земля - классический пример фрактального объекта. Из космоса она выглядит как шаp. Если приближаться к ней, мы обнаружим океаны, континенты, побережья и цепи гор. Будем рассматривать горы ближе - станут видны еще более мелкие детали: кусочек земли на поверхности горы в своем масштабе столь же сложный и неровный, как сама гора. И даже еще более сильное увеличение покажет крошечные частички грунта, каждая из которых сама является фрактальным объектом.

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

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

{tab= Mandelbulber }

Mandelbulber - экспериментальное приложение, разработанное для создания и работы с 3Д-фракталами Мандельброта также и с некоторыми другими видами 3D - фракталов, такими как Mandelbox, Bulbbox, Juliabulb, губка Менгера и т.д.
Особенности: великолепная гибкость по работе с 3Д-фракталами, работа с освещением тенями, цветом, поддержка эффектов ambient окклюзии, глубины резкости и т.д.
Неограниченное разрешение изображения на 64-битных системах. Простой в использовании 3D-навигатор по фракталу. Поддержка анимации. Mac- и Win- версии. Бесплатный.

Официальный сайт:

{tab= Apophysis 7x }

Apophysis 7x У генератора фракталов Апофиз много возможностей для создания и редактирования 2Д-фракталов, в том числе редактор, позволяющий напрямую редактировать фрактал, манипулируя треугольниками (своеобразными блоками-преобразованиями). функция мутации применяет случайное редактирование треугольников. регулировка размеров окон программы под себя. серъезные возможности по манипуляциям с цветом фрактала и даже язык сценариев с прямым доступом к большинству компонентов фрактала. Поддержка анимации. Экспорт с последующим рендерингом в программы, такие как FLAM3 и Chaotica. Поддержка нескольких языков, русского, пока, к сожалению, нет. Множество плагинов, позволяющие добиться невероятных результатов по фракталам. Бесплатный.

Официальный сайт: Apophysis 7x

Примеры работ:

{tab=Ultra Fractal }

Ultra Fractal - генератор фракталов, позволяет создавать изображения фрактальных множеств, а также выполнять их анимацию. Процесс построения изображений определяется набором алгоритмов, описывающих разновидности визуализируемых фракталов, методы их раскраски и применяемые к ним трансформации.
Особенности: модульная архитектура позволяет не только использовать кем-то уже созданные алгоритмы, но и создавать собственные. встроенный язык программирования. Уникальные параметры по работе с цветом и градиентами. Реализована возможность работать с альфа-каналами, слоями и масками, что позволяет легко комбинировать различные фрагменты изображений. Условно бесплатная.

Официальный сайт: Ultrafractal

Примеры работ (отобрано из галереи официального сайта)

{tab= Xenodream }

Xenodream - уникальная программа для создания фрактальной 3D графики. Создание или изучение от самых простых форм до сложноых рекурсивных 3D структур, эксперименты с освещением и текстурами. Экспорт текстур или карт глубины (depth maps) для других программ рендеринга. Создание стереограмм, анимации и многое другое. Программа предназначена как для профессионалов, так и для тех, кто любит развлекаться созданием фантастических трёхмерных моделей.

Условно бесплатная.

Официальный сайт

Примеры изображений:

{tab=JWildFire }

JWildFire - относительно неплохой и в то же время мощный редактор фрактальной графики. По функциональности его можно сравнить с широко известной программой Apophysis. Так же как и Apophysis, JWildFire работает с флеймами, но в отличии от Апофизиса, написанного на Delphi, JWildFire написана на языке Java.

Ключевыми особенностями программы являются:

  1. -возможность использования потрясающих 3Д эффектов, таких как волны, рябь на воде и пр.
  2. -3д эффекты наложения
  3. -мощный встроенный редактор флеймов-T.I.N.A.
  4. -встроенный генератор изображений (возможность генерировать картинки с облаками, плазмой и т.д.)
  5. -множество эффектов обработки изображений в 2Д (Н-р: Вращение, скручивание, разрушение и т.д.)
  6. -простой, но мощный пользовательский интерфейс, который позволяет анимировать практически любой параметр, всего за несколько кликов мыши
  7. -интеграция с Sunflow для высокого качества визуализации.

Основными отличиями от Апофизиса следующие:

У JWildfire в редакторе просмотр происходит в реальном времени. - Но у Apo просмотр является более точным.

JWildfire позволяет использовать флеймы как плагины (Variations)

JWildfire имеет функции HDR выходе (32 бит на канал)

JWildfire имеет Pseudo3D шейдер, который дает более реалистичные результаты для 3D рендера.

Для Apo создан огромный набор плагинов, но они не могут использоваться все вместе. У JWildfire набор меньше, но все же встроено достаточно большое количество плагинов, которые могут быть использованы все вместе.

JWildfire имеет встроенный компилятор для создания собственных плагинов на лету.

Платформа JWildfire является независимой и очень стабильной, - но в Apo рендер происходит быстрее (в 2 раза, в зависимости от формулы)

JWildfire не нуждается в каких-то дополнительных инструментах.

Является бесплатной

Примерами изображений могут послужить изображения генератора Apophysis.

{tab=Fractal Explorer }

Fractal Explorer -это бесплатный фракталогенератор, который позволяет создавать очень красивые фрактальные изображения на основе математических формул.

Программа рассчитана не только на профессионалов, но и на простых пользователей, а следовательно работать с ней не составит никакого труда.Работать в ней можно как и в профессиональных целях, так и ради развлечения, в обоих случаях программа доставит массу удовольствия и много часов приятного времяпровождения!
Fractal Explorer позволяет создавать фракталы, основаные на классических многочленных множествах (Множество Мандельброта, множество Жюлиа, множество Ньютона и их вариации), а также на некоторых других. Например: 4D-комплексные фракталы (фракталы основанные на кватернионах), 3D "странные" аттракторы, а также IFS системы.Кроме того Fractal Explorer имеет множество функций для создания различных эффектов и улучшения качества генерируемых изображений.

Оф.сайт программы : http://www.eclectasy.com/Fractal-Explorer/

Примеры работ с оф. сайта:

{tab=Incendia }

Incendia является полноценным бесплатным, многопроцессорным 3D фракталогенератором.
Программа постоянно развивается и обновляется. На данный момент она имеет богатый и мощный спектр возможностей для генерации полноценных трёхмерных фракталов.Ключевыми особенностями являются:
-Генерация изображений с разрешениями: 1024, 2048, 2560 и 3072 пикселей (4096 и 8192 пикселей для доноров, т.е. пользователей, сделавших добровольный материальный взнос в пользу автора программы)
-Поддержка двухкратного антиальясинга для получения более гладкой и совершенной картинки.
-45 разновидностей трёхмерных фракталов (правда многие будут включены в состав только будущих версий программы)
-Поддержка фрактальных скриптов для создания новых типов фракталов.
-Большая библиотека текстур, а также возможность импорта внешних текстур.
-Поддержка цветовых градиентов.
-Несколько стилей рендеринга (включая объемный туман, и многие новые шейдеры визуализации).
-Поддержка многоядерных процессоров.
-Наличие встроенных трёхмерных базовых форм для конструирования сложных фракталов. (Включает в себя шесть различных смещений карты базовой формы).
-Мощный редактор фрактальных трансформаций.
-Редактор трёхмерных базовых форм.
-Редактор материалов
-3D Mesh экспорт (до 1000х1000х1000 вокселей для доноров)
-Сохранение в буфер (для долгого рендера)
-Поддержка анимации.
Кроме того начиная с версии EX V в программу включено приложение Geometrica, специально разработанное для экспорта трёхмерных фракталов из Incendia в другие редакторы 3D графики.

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

Оф.сайт: http://www.incendia.net/index.html

Примеры Изображений:

{tab=Chaoscope }

Chaoscope является программным средством рендеринга 3D странных аттракторов. Это непрерывный проект, созданный и поддерживаемый Николя Desprez, текущая версия 0.3.1. Она является бесплатной , работающей на платформе Windows, Linux.

Официальный сайт :

Примеры изображений :

{tab=ChaosPro }

ChaosPro бесплатный генератор в режиме реального времени фрактальный генератор для MS Windows с поддержкой различных фрактальных типов (2D и 3D), истинная поддержка цветов, с поддержкой анимации. Благодаря встроенному компилятору довольно быстр, возможность написания собственных формул.

официальный сайт :

Примеры изображений:

{tab=Sterling }

Sterling является фракталогенератором, написанным на языке программирования C в 1999 году для Microsoft Windows Стивен С. Фергюсон. Sterling2 это бесплатная версия с различными алгоритмами генерации. Он был выпущен в сентябре 2008 года Tad Boniecki. Помимо названия, программа выглядит так же, как оригинал, имеется дополнительно 50 формул для фрактальной генерации. Файлы, созданные Sterling могут быть использованы в Sterling2 и наоборот, хотя они будут показывать разные образы. Sterling основан на том, что в нем используются интересные фильтры для фрактальных изображений с помощью сложных параметров цвета и тени. Sterling имеет простой графический интерфейс с ограниченным числом функций. Программа сохраняет файлы JPEG, BMP или один из шести других форматах.

Официальный сайт :

Примеры изображений:

{tab=Fractron9000 }

Fractron 9000 является высокопроизводительным генератором фракталов для визуализации в среде Windows. Работает по алгоритму FractalFlames/

Fractron 9000 использует преимущества современных программируемых графических процессоров lдля значительного ускорения рендеринга. Пользователи имеющие поддержку CUDA и OpenCL видео оборудования смогут генерировать фрактальные изображения в режиме реального времени. Некоторые примеры изображений, созданных с Fractron приведены ниже. (взяты с официального сайта). Пользовательский интерфейс написан на C #, сообщается с OpenCL и CUDA через собственные пользовательские библиотеки совместимости. Fractron использует OpenGL для отображения фракталов.

официальный сайт: http://fractron9000.sourceforge.net/index.html

Last Update: 2011-08-09

{tab=Fractals }

ПРиобрести программу можно на the App Store!™

{tab=Fractal Science Kit }

Fractal Science Kit - фрактальный генератор для Windows, который создает фрактальные изображения из набора свойств, которые можно установить для контроля фрактального процесса генерации. Пример свойства включают в себя тип фрактала, размер изображения и параметров для контроля орбиты генрации, нормализация данных, передискретизации, сглаживание, гамма-коррекция и т.д. Вы можете работать с множеством встроенных алгоритмов (программ) или разработать свой собственный с использованием интерактивной средой программирования.

Fractal Science Kit фрактальный генератор поддерживает сотни встроенных уравнений, преобразования орбиты ловушки, контроллеры, позволяющие обычным пользователям создавать великолепные фрактальные изображения, обеспечивая при этом опытным разработчиком богатый набор иллюстративных примеров, на которых строится его собственные программы (алгоритмы). Более 60000 строк исходного кода для встроенных фрактальных программ и встроенных макросов (встроенных функций / методов) доступны через браузер, программы и редактор макросов.

поддерживает 3 основные фрактальные типы:
Мандельброт Fractals

Orbital Fractals

L-система Fractals

и другие: Mandelbrot, Julia, Convergent, Newton, Orbit Traps, Sierpinski Triangle, IFS, Strange Attractors, Rep-N Tiles, Symmetric Icons, Symmetric Attractors, Frieze Group Attractors, Wallpaper Group Attractors, Hyperbolic Attractors, Apollonian Gasket, Circle Inversion, Mobius Dragon IFS, Mobius Patterns, Grand Julian IFS, Elliptic Splits IFS, Schottky Group, Kleinian Group, L-System...

Полная версия стоит 30 долларов США

trial-версию можно скачать здесь: http://www.fractalsciencekit.com/extra/purchase.htm

Примеры :

{tab=Visions Of Chaos }

Еще один генератор фракталов в 2D и 3D.

Visions Of Chaos является профессиональным прикладным программным обеспечением для Windows. Он достаточно прост для людей, которые не понимают математику за ним, но достаточно развиты для фрактальных энтузиастов. Это наиболее полное все в одном приложение связанные с теорией хаоса. Поддерживает визуализацию видео. В программу включены сотни прмеров.

ПРиобрести программу можно на официальном сайте: http://softology.com.au/voc.htm

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

{tab=Chaotica }

Chaotica представляет собой следующее поколение создания фрактальной среды, предназначена как для новичков, так и опытных профессионалов. Начинающие пользователи могут наслаждаться редактированием включенных примеров и случайных фракталов. Профессиональные пользователи особенно оценят очень быстрый, современный движок, печать качественных изображений проще в изготовлении, и в режиме реального времени контроль рендеринга сэкономит много часов. Хотя она основана на математике, пользовательский интерфейс Chaotica обеспечен выразительным художественным процессом. С момента своего изобретения в 1981 году, итерированных функций (IFS) фракталы были популярным программным обеспечением, таким как flam3 и Apophysis. Chaotica расширяет творческие возможности этих программ в мощной, ориентированной на производство окружения, среде.

0.72 версия бесплатна

1.0 версия Платная

Скачать и купить можно здесь: http://store.glaretechnologies.com/chaotica

Примеры (с оф.сайта)

{tab=Saturn & Titan }

Mars - Еще одна программа-генератор фракталов. Эта программа была использована для получения большого количества фрактальных изображений, которые доступны для просмотра и в некоторых случаях покупки на DeviantArt и Red Bubble. Она была написана на C + + с использованием Gtkmm также на Linux и больше не используется. Естественным ее продолжением стала программа Saturn . Когда изображение сохраняется с помощью программ Марса или Сатурна оно сохраняется в том виде, что автор называет файлом - семенем. Семя- файл представляет собой файл PNG со всеми необходимыми параметрами фрактала встроенный в него так, что программа расширения может генерировать значительно увеличенное изображение обычно 12000 на 8000 пикселей. Максимальный размер, который может быть визуализирован составляет около 700 мегапикселей. Titan представляет собой расширение для Сатурна.

Работает на Линуксе и Windows .

Скачать программу, мануалы для нее и некоторые файлы можно на сайте разработчика: http://element90.wordpress.com/software/downloads/

{tab=Silverfractal }

SilverFractal является генератором фракталов нового поколения. Он направлен на восстановление и упрощение фрактального искусства и открывает новые возможности.

Особенности

Генерация различных типов 2D/3D - фракталов по типу FractalFlames - алгоритма

Рендер фрактальной анимации

Полная поддержка плавающей запятой при обработке изображений

Поддержка нескольких слоев и слоев-вложений

Поддержка многопоточного рендеринга

Поддержка текстур

Версия 1.1.0.2 для Windows 8.1

Поддерживаемые процессорыx86, x64, ARM

Системные требованияIntel Core i процессоры

4 Гб оперативной памяти

скачать для Windows 8.1 можно (сайт Microsoft)

{tab=Electric Sheep }

Electric sheep - ресурс использующий распределённые вычисления для создания фрактальной анимации основанной на алгоритме fractal flame (разработан Скоттом Дрейвсом).

Название "Electric Sheep" берется из названия романа Филипа К. Дика "Мечтают ли андроиды об электроовцах". Название отражает характер проекта: компьютеры (андроиды), которые начали визуализировать заставку (мечтают) в виде фрактальных фильмов (овцы).

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

Видео - мотив от пользователя переносится в другие аспекты проекта: 100 или около того файлов хранящиеся на сервере в любое время упоминается как "стадо" для создание нового фрактала путем интерполяции или объединения фрактального кода файла пользователя с другим файлом другого пользователя и называется спаривание / разведение ; изменения в коде называются мутациями и т.д.

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

Более подробно ознакомиться и скачать дитрибутив можно на сайте проекта: http://electricsheep.org/

Скриншоты видео:

Фрактал - это фигура с дробной размерностью (не 2D и не 3D, а, например, 1,5D или 2,3D). Благодаря такой особенности фигура получается самоподобной, т.е. состоящей из множества частей, каждая их которых является уменьшенной копией всей фигуры в целом. Понятие фрактала в математику ввел американский ученый польского происхождения Бенуа Мандельброт (1924-2010). Вот классическая книга по фракталам (в формате djvu) основоположника этого направления математики.

Apophysis

Для генерации, отображения фракталов и сохранения их в виде картинки существует не один десяток компьютерных программ. Apophysis - одна из самых популярных. Существует базовый вариант программы (текущая версия Apophysis 2.09) и продвинутая версия (Apophysis 7X). В последней больше настроек, разнообразнее шаблоны и параметры, по которым шаблон можно изменять. В обеих версиях можно, кроме статичной картинки, создавать видео (морфинг одного фрактала в другой). В версии 7X предусмотрены плагины для создания трехмерных фракталов. Интерфейс программ совпадает на 90%.

Изображение фракталов строится по сложноым математическим формулам. От пользователя программы математический аппарат спрятан, но дана возможность менять различные параметры формул, которые влияют на трансформации и цвет конечного изображения. Один из самых простых сценариев работы с программой: а) выбрать шаблон, который ближе всего к тому, что вы хотите получить в итоге; б) в редакторе назначить дополнительные трансформации или изменить параметры заданных для этого шаблона трансформаций; в) отрегулировать цветовую гамму; г) сохранить на диск в стандартном графическом формате png с прозрачным фоном. Шаблоны называются флеймами (flames). Сохранение на диск называется рендерингом (render flame).

Flames

В любую поставку программы включается большая или не очень коллекция флеймов. Каждый флейм - это сохраненный набор параметров фрактала. Внешне пользователь может видеть флеймы в виде списка в левой части окна программы. Это список названий в виде текста или превьюшки. Переключаться между режимами отображения можно по кнопкам Classic view и Trumbnail view на панели инструментов. Клик на пункт этого списка приведет к тому, что в центральное окно программы загрузится этот шаблон и вы увидите сгенерированное изображение. Скорость отрисовки изображения зависит от установки качества. За это отвечает элемент селект на панели инструментов со значениями 5, 10, 15, 50... Чем выше выставлено качество, тем дольше отрисовывается картинка. А картинка будет перерисовываться часто, при каждом изменении хотя бы одного параметра, поэтому рекомендую выставить качество самое слабое 5, и повышать его разово, если до сохранения на диск хочется какие-то детали все же рассмотреть.

В Apophysis 7X можно сгенерировать новый флейм по кнопке New. В обеих версиях можно воспользоваться флеймом скачанным из Интернета - просто откройте в программе файл с диска с расширением flame. Также вы сами можете создать флейм в виде файла на диске - в меню File подпункт Save Parameters.

Для новичков работа с программой - это не столько целенаправленное изменение параметров, сколько выбор между вариантами, которые сгенерировала сама программа. На панели есть кнопка Mutation - по ней случайным образом создаются 8 вариаций относительно текущего флейма. В открывшемся окне - 9 комбинаций, ваш первоначальный вариант - в центре. Можно задать программе параметр, который будет участвовать в мутациях.

Редактор

Самый интересный модуль программы - это редактор (Editor). В редакторе вы производите тонкую и тончайшую настройку формул (которые все равно скрыты, но вы работаете с их параметрами). В редакторе также можно создать свой фрактал с нуля (самая левая кнопка New Flame на панеле инструментов редактора). Кнопкой New Transform добавляется новая трансформация, которая отображается на главном поле редактора в виде треугольника. На закладке Variations для трансформации выбирается параметр и выставляется его значение, отличное от 0 (если 0, то параметр не участвует в формуле). В поле Weight выставляется вес трансформации (степень влияния на всю картинку). Подробнее о работе с редактором вы можете почитать .

Цвета

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