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

Растровая, векторная и фрактальная графика

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

Растровая и векторная графика создается в специальных программах - графических редакторах и процессорах. Например, программы Paint и Gimp являются растровыми, а Inkscape - векторым.

Растровая графика

Растровое изображение представляет картину, состоящую из массива точек на экране, имеющих такие атрибуты как координаты и цвет.

Пиксель – наименьший элемент изображения на экране компьютера. Размер экранного пикселя приблизительно 0,0018 дюйма.

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

Информация о текущем состоянии экрана хранится в памяти видеокарты. Информация может храниться и в памяти компьютера - в графическом файле данных.

Самыми близкими аналогами растровой графики является живопись, фотография.

Кодирование графической информации

Качество изображения определяется разрешающей способностью экрана и глубиной цвета.

Число цветов (К), воспроизводимых на экране дисплея, зависти от числа бит (N ), отводимых в видеопамяти под каждый пиксель:

K =2 N

Для получения богатой палитры цветов базовым цветам могут быть заданы различные интенсивности. Например, при глубине цвета в 24 бита на каждый из цветов выделяется по 8 бит (RGB ), т.е. для каждого из цветов возможны K = 28 = 256 уровней интенсивности. Один бит видеопамяти занимает информация об одном пикселе на черно-белом экране (без полутонов).

Величину N называют битовой глубиной.

Страница - раздел видеопамяти, вмещающий информацию об одном образе экрана (одной "картинке" на экране). В видеопамяти одновременно могут размещаться несколько страниц.

Если на экране с разрешающей способностью 800 х 600 высвечиваются только двухцветные изображения, то битовая глубина двухцветного изображения равна 1, а объем видеопамяти на одну страницу изображения равен 800 * 600 * 1 = 480000 бит = 60000 байт.

Для хранения двух страниц изображения при условии, что разрешающая способность дисплея равна 640 х 350 пикселей, а количество используемых цветов - 16 будет таким: 640 * 350 * 4 * 2 = 1792000 бит = 218,75 Кбайт

Количество используемых цветов - 16, это 2 4 , значит, битовая глубина цвета равна 4.

Векторная графика

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

Файл, отображающий векторное изображение, содержит начальные координаты и параметры примитивов – векторные команды.

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

Информация о цвете объекта сохраняется как часть его описания, т.е. тоже в векторной команде.

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

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

Файлы векторной графики могут содержать растровые объекты.

Достоинства векторной графики

  • Векторные изображения занимают относительно небольшой объем памяти.
  • Векторные объекты могут легко масштабироваться без потери качества
  • Недостатки векторной графики
  • Векторная графика не позволяет получать изображения фотографического качества.
  • Векторные изображения описываются тысячами команд. В процессе печати эти команды передаются устройству вывода (принтеру). Чаще всего изображение на бумаге выглядит не так как на экране монитора.

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

Последней из рассматриваемых видов компьютерной графики - это фрактальная графика. Фрактальная графика является на сегодняшний день одним из самых быстро развивающихся перспективных видов компьютерной графики.

Математической основой фрактальной графики является фрактальная геометрия. Здесь в основу метода построения изображений положен принцип наследования от, так называемых, «родителей» геометрических свойств объектов-наследников.

Понятия фрактал , фрактальная геометрия и фрактальная графика, появившиеся в конце 70-х, сегодня прочно вошли в обиход математиков и компьютерных художников. Слово фрактал образовано от латинского fractus и в переводе означает «состоящий из фрагментов». Оно было предложено математиком Бенуа Мандель-Бротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался.

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

В центре фрактальной фигуры находится её простейший элемент - равносторонний треугольник, который получил название «фрактальный». Затем, на среднем отрезке сторон строятся равносторонние треугольники со стороной, равной (1/3a) от стороны исходного фрактального треугольника. В свою очередь, на средних отрезках сторон полученных треугольников, являющихся объектами-наследниками первого поколения, выстраиваются треугольники-наследники второго поколения со стороной (1/9а) от стороны исходного треугольника.

Таким образом, мелкие элементы фрактального объекта повторяют свойства всего объекта. Полученный объект носит название «фрактальной фигуры». Процесс наследования можно продолжать до бесконечности. Таким образом, можно описать и такой графический элемент, как прямую.

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

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

Итак, базовым понятием для фрактальной компьютерной графики являются «Фрактальный треугольник». Затем идет «Фрактальная фигура», «Фрактальный объект»; «Фрактальная прямая»; «Фрактальная композиция»; «Объект-родитель» и «Объект наследник». Следует обратить Ваше внимание на то, что фрактальная компьютерная графика, как вид компьютерной графики двадцать первого века получила широкое распространение не так давно.

Её возможности трудно переоценить. Фрактальная компьютерная графика позволяет создавать абстрактные композиции, где можно реализовать такие композиционные приёмы как, горизонтали и вертикали, диагональные направления, симметрию и асимметрию и др. Сегодня немногие компьютерщики в нашей стране и за рубежом знают фрактальную графику. С чем можно сравнить фрактальное изображение? Ну, например, со сложной структурой кристалла, со снежинкой, элементы которой выстраивается в одну сложную структуру. Это свойство фрактального объекта может быть удачно использовано при составлении декоративной композиции или для создания орнамента. Сегодня разработаны алгоритмы синтеза коэффициентов фрактала, позволяющего воспроизвести копию любой картинки сколь угодно близкой к исходному оригиналу.

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

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

Например, в Adobe Photoshop изображение, как правило, «с нуля» не создается, а только обрабатывается. Другой самобытной особенностью фрактального графического редактора Painter (как и прочих фрактальных программ, например Art Dabbler) является то, что реальный художник, работающий без компьютера, никогда не достигнет с помощью кисти, карандаша и пера тех возможностей, которые заложены в Painter программистами.

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

Итак - Fractorama. Freeware. Автор программы John F. Dumas работает разработчиком программного обеспечения, преподает и имеет степень в области прикладной математики. Интерфейс программы довольно лаконичен. Перед вами два окна. Первое - текстовой редактор, в котором нужно писать формулы, а второе предназначено для визуализации результата ваших трудов - собственного готового фрактала.
Давайте посмотрим на работы из галереи программы:





Как Вам? Мне напоминает сразу три программы, но выглядит очень симпатично.
Некоторые особенности программы Fract-O-Rama! (именно так её называет автор).
Все фракталы создаются с помощью фрактального языка сценариев Fract-O-Rama, который позволяет исследовать более широкий спектр фрактальных типов, чем ряд других фрактальных генераторов. Программа может работать как на win32, так и в среде Unix, в связи с тем, что была написана с использованием Qt. Поставляется с полным исходным кодом. В каждой из загрузок содержится документация и большое количество формул-примеров. Доступны разные варианты загрузки - выбирайте подходящий.
Если Вас заинтересовал процесс создания фрактала в этой программе, загляните в "About Us".
Здесь находится галерея: https://fractoramafractalart.com/
Страница проекта на deviantart http://fract-o-rama.deviantart.com/
Подведу итог. Перед нами любопытная программа, предназначенная для тех, кто знает программирование или хочет научиться. Трудно судить о состоянии проекта на сегодняшний день, поскольку последние фракталы в галерее датированы 2015-м годом. В любом случае, программа достойна внимания.

Модуль поиска не установлен.

В мире фрактальной графики

Светлана Шляхтина

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

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

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

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

Ultra Fractal

Разработчик: Frederik Slijkerman
Сайт программы:
http://www.ultrafractal.com/
Размер дистрибутива: 5 Мбайт
Способ распространения: shareware (демо-версии, создающие водяные знаки: Ultra Fractal Animation Edition - http://www.ultrafractal.com/uf403ani.exe, Ultra Fractal Standard Edition - http://www.ultrafractal.com/uf403std.exe)
Цена: Ultra Fractal Animation Edition - $129, Ultra Fractal Standard Edition - $59
Работа под управлением:
Windows 98/2000/XP/2003

Ultra Fractal - лучшее решение для создания уникальных фрактальных изображений профессионального качества. Пакет отличается дружественным интерфейсом, многие элементы которого напоминают интерфейс Photoshop (что упрощает изучение), и сопровождается невероятно подробной и прекрасно иллюстрированной документацией с серией туториалов, в которых поэтапно рассматриваются все аспекты работы с программой. Ultra Fractal представлен двумя редакциями: Standard Edition и расширенной Animation Edition, возможности которой позволяют не только генерировать фрактальные изображения, но и создавать анимацию на их основе. Созданные изображения можно визуализировать в высоком разрешении, пригодном для полиграфии, и сохранить в собственном формате программы или в одном из популярных фрактальных форматов. Визуализированные изображения также могут быть экспортированы в один из растровых графических форматов (jpg, bmp, png и psd), а готовые фрактальные анимации - в AVI-формат.

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

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

Fractal Explorer

Разработчик:
Sirotinsky Arthur, Olga Fedorenko
Сайт программы: http://www.eclectasy.com/Fractal-Explorer/index.html
Размер дистрибутива: 1,46 Мбайт
Способ распространения:
freeware (http://www.eclectasy.com/Fractal-Explorer/download.htm)
Цена: бесплатно
Работа под управлением:
Windows 95/98/ME/NT/2000/XP

Fractal Explorer - программа для создания изображений фракталов и трехмерных аттракторов с достаточно впечатляющими возможностями. Имеет интуитивно понятный классический интерфейс, который может быть настроен в соответствии с пользовательскими предпочтениями, и поддерживает стандартные форматы фрактальных изображений (*.frp; *.frs; *.fri; *.fro; *.fr3, *.fr4 и др.). Готовые фрактальные изображения сохраняются в формате *.frs и могут быть экспортированы в один из растровых графических форматов (jpg, bmp, png и gif), а фрактальные анимации сохраняются как AVI-файлы.

Генерация фракталов возможна двумя способами - на основе базовых фрактальных изображений, построенных по входящим в поставку формулам, или с нуля. Первый вариант позволяет получить интересные результаты сравнительно просто, ведь выбрать подходящую формулу несложно, тем более что удобный файловый браузер позволит оценить качество фрактала из базы еще до создания на его основе фрактального изображения. У полученного таким путем фрактального изображения можно сменить цветовую палитру, добавить к нему фоновое изображение и определить режим смешивания фрактального и фонового слоев, а также степень прозрачности фрактального слоя. Затем можно будет подвергнуть фрактальное изображение трансформации, при необходимости масштабировать, определить размеры изображения и провести рендеринг. Создание изображения с нуля гораздо сложнее и предполагает выбор одного из двух способов. Можно выбрать тип фрактала (классический Мандельброта, кубический Мандельброта и т.д.) почти из 150 вариантов. А затем уже перейти к изменению разнообразных параметров: настройке палитры, фона и пр. А можно попробовать создать свою пользовательскую формулу, воспользовавшись встроенным компилятором. Перед рендерингом готового изображения может потребоваться проведение автоматической коррекции цветового баланса и/или ручной коррекции яркости, контрастности и насыщенности.

ChaosPro

Разработчик: Martin Pfingstl
Сайт программы:
http://www.chaospro.de/
Размер дистрибутива: 5 Мбайт
Способ распространения: freeware
(http://www.chaospro.de/cpro32.exe)
Цена: бесплатно
Работа под управлением:
Windows 95/98/Me/NT/2000/XP

ChaosPro - один из лучших бесплатных генераторов фрактальных изображений, с помощью которого нетрудно создать бесконечное множество удивительных по красоте фрактальных изображений. Программа имеет очень простой и удобный интерфейс и наряду с возможностью автоматического построения фракталов позволяет полностью управлять данным процессом за счет изменения большого количества настроек (число итераций, цветовая палитра, степень размытия, особенности проецирования, размер изображения и др.). Кроме того, создаваемые изображения могут быть многослойными (режимом смешивания слоев можно управлять) и к ним можно применить целую серию фильтров. Все накладываемые на строящиеся фракталы изменения тут же отражаются в окне просмотра. Созданные фракталы могут быть сохранены в собственном формате программы, либо в одном из основных фрактальных типов благодаря наличию встроенного компилятора. Или экспортированы в растровые изображения или 3D-объекты (если предварительно было получено трехмерное представление фрактала).

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

Apophysis

Разработчик:
Mark Townsend, Peter Sdobnov, Piotr Borys, Susan Chambless, Ronald Hordijk
Сайт программы:
http://www.apophysis.org/
Размер дистрибутива: 1,21 Мбайт
Способ распространения: freeware ()
Цена: бесплатно
Работа под управлением: Windows (all)

Apophysis - интересный инструмент для генерации фракталов на основе базовых фрактальных формул. Созданные по готовым формулам фракталы можно редактировать и неузнаваемо изменять, регулируя разнообразные параметры. Так, например, в редакторе их можно трансформировать, либо изменив лежащие в основе фракталов треугольники, либо применив понравившийся метод преобразования: волнообразное искажение, перспективу, размытие по Гауссу и др. Затем стоит поэкспериментировать с цветами, выбрав один из базовых вариантов градиентной заливки. Список встроенных заливок достаточно внушителен, и при необходимости можно автоматически подобрать наиболее подходящую заливку к имеющемуся растровому изображению, что актуально, например, при создании фрактального фона в том же стиле, что и иные изображения некоего проекта. При необходимости несложно подрегулировать гамму и яркость, изменить фон, масштабировать фрактальный объект и уточнить его расположение на фоне. Можно также подвергнуть результат разнообразным мутациям в нужном стиле. По окончании следует задать размеры конечного фрактального изображения и записать его визуализированный вариант в виде графического файла (jpg, bmp, png).

Chaoscope

Разработчик: Nicolas Desprez
Сайт программы: http://www.btinternet.com/~ndesprez/index.htm
Размер дистрибутива: 2,5 Мбайт
Способ распространения:
freeware (http://www.btinternet.com/~ndesprez/download/chaoscope_0_3_1_setup.exe)
Цена: бесплатно
Работа под управлением: Windows (all)

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

Генерация двумерных фракталов может осуществляться двумя путями. Можно открыть один из встроенных библиотечных проектов фрактальных изображений и доработать задуманным образом, скорректировав значения параметров и выбрав цветовую палитру. А можно создать новое изображение на основе определенного типа фрактала - при этом никакого изображения в рабочем окне вы не увидите, так как все параметры, характеризующие данный тип, изначально равны нулю. Поэтому требуется определить их значения, что вручную неподготовленному пользователю весьма проблематично - параметров много, а их специфические названия (p1, p2, p3 и т.д.) ни о чем не говорят, да и в Help не описаны. Разумнее пойти другим путем - воспользоваться командой Attractor=>Search, и программа сама найдет нужные значения для возможного фрактального изображения. Таким способом, применив пару десятков раз команду Search, вы сможете найти какой-нибудь интересный вариант, для дальнейшей доработки которого уже все равно придется обратиться к палитрам параметров и цветов. На последнем этапе, возможно, потребуется провести цветовую автокоррекцию. После этого можно сразу экспортировать фрактальное изображение в bmp-формат, либо его визуализировать, в ходе чего будет и сгенерирован его трехмерный фрактальный аналог.

Mystica

Разработчик: Thomas Renn
Сайт программы:
http://www.dawntec.com/mystica/
Размер дистрибутива: 4 Мбайт
Способ распространения: shareware (30-дневная демо-версия, добавляющая водяной знак на изображения - http://www.dawntec.com/mystica/Download/Mystica.exe)
Цена: $15
Работа под управлением:
Windows 95/98/Me/NT/2000/XP

Mystica - универсальный генератор уникальных фантастических двумерных и трехмерных изображений и текстур, которые в дальнейшем можно использовать в разных проектах, например в качестве реальных текстур для Web-страниц, фонов Рабочего стола или фантастических фоновых изображений, которые могут быть задействованы, например, при оформлении детских книг. Пакет отличается нестандартным и достаточно сложным интерфейсом и может работать в двух режимах: Sample (ориентирован на новичков и содержит минимум настроек) и Expert (предназначен для профессионалов). Создаваемые изображения могут иметь любой размер и затем экспортироваться в популярные графические 2D-форматы. Прямо из окна программы их можно отправить по электронной почте, опубликовать в Html-галерее или создать на их основе видеоролик в форматах divx, mpeg4 и др. Встроенный трехмерный движок программы может быть использован при создании трехмерных сцен для компьютерных игр, например фантастических фонов и ландшафтов.

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

Fractal Extreme

Разработчик: Cygnus Software
Сайт программы:
http://www.cygnus-software.com/
Размер дистрибутива: 2,95 Мбайт
Способ распространения: shareware (15-дневная демо-версия - ftp://ftp.cygnus-software.com/pub/fxsetup.exe)
Цена: $34,95
Работа под управлением:
Windows 9x/Me/NT/2000/XP

Fractal Extreme - несложная и вполне функциональная (хотя и с сильно завышенной ценой) программа для генерации двумерных фрактальных изображений, которые обычно создаются путем преобразования базовых изображений или самостоятельно на основе подходящего типа фрактала. Настройка параметров фрактального изображения включает регулирование количества итераций, настройку цветовой палитры и характера проецирования. Кроме того, фрактальное изображение несложно масштабировать и обрезать, а также подогнать под требуемый размер. При желании можно генерировать фракталы случайным образом при помощи команды Options=>Plug-In Setup. Созданные изображения сохраняются в виде проектов в собственном формате или могут быть экспортированы в bmp-формат.

Fractal World

Разработчик: YurkinSoft
Сайт программы:
http://yurkinsoft.chat.ru/rus/fractal_r.htm
Размер дистрибутива: 740 Кбайт
Способ распространения: shareware (30-дневная демо-версия - http://yurkinsoft.chat.ru/frac_arc.exe)
Цена: 135 руб.
Работа под управлением:
Windows 95/98/Me/NT/2000/XP

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

Fractal Snowflake Generator

Разработчик: A-i-studio.com
Сайт программы:
http://a-i-studio.com/snowflake/
Размер дистрибутива: 565 Кбайт
Способ распространения: Shareware (демонстрационная версия с ограничением на сохранение - http://a-i-studio.com/snowflake/fsnowgen_setup.exe)
Цена: $10
Работа под управлением:
Windows 98/Me/NT4/2000/XP

Fractal Snowflake Generator представляет собой генератор фрактальных снежинок, которыми можно будет украсить свой личный сайт в преддверии Нового Года или собственноручно созданную, например в Photoshop, новогоднюю открытку. Программа не только может работать полностью в автоматическом режиме, генерируя снежинки случайным образом, - при желании процессом генерации можно и управлять, определяя размер, пропорции, поворот снежинки, цвета снежинок и фона и пр. Созданные снежинки в демонстрационной версии можно сохранить только как растровое изображение, нажав клавишу Print Screen. После оплаты появляется дополнительная возможность сохранения снежинок в виде векторного изображения в форматах программы Adobe Illustrator, что позволяет подвергать снежинки дальнейшей обработке и использовать, например при создании соответствующих детских иллюстраций, фонов для Web-страниц и пр.


В лесах фрактальной графики. Часть 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 и др.

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

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

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

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

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

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

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

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

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

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

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

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