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

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

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

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

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

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

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

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

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

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

Следует обратить внимание на то, что фрактальная компьютерная графика как вид компьютерной графики двадцать первого века получила широкое распространение не так давно.


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

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

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

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

Математика буквально пронизана гармонией, и графика фрактальная - прямое тому подтверждение. Наука присутствует при создании каждого ее элемента, поэтому она отражает всю красоту.

Создатель фрактальной геометрии, профессор Мальдерброт, писал в своих книгах, что рассматриваемая графика представляет собой не просто повторяющиеся изображения. Это - структура любого существа или объекта на планете, живого и неживого. К примеру, ДНК является основой, одной интеграцией. Но если код начинает повторяться, тогда появляется человек.

Основы фрактальной графики

Что такое фрактальная графика? Это одна или несколько каждая из которых подобна другой. То есть, изображение составляется из одинаковых частей.

Само слово "фрактал" может употребляться, если фигура обладает одним или несколькими из этих свойств:

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

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

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

Как создать элемент фрактальной графики?

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

  1. Задают условие. Это фигура, на основе которой будет строиться все изображение.
  2. Задают процедуру. Она преобразует условие.
  3. Получают геометрический фрактал.

Обычно нулевое условие представляется в виде треугольника.

Чтобы построить изображение, нужно применить две процедуры. Во-первых, DrawTriangle. Она строит треугольник по точкам, заданным пользователем. Во-вторых, DrawGenerator. Она указывает количество точек. Каждая процедура может повторяться несколько раз или бесконечно долго. Для определения этого показателя применяется численный аргумент n.

Другие действия с фрактальной графикой

После того как элемент фрактальной графики был создан, с ним можно производить различные дополнительные действия:

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

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

Программы для генерации

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

Продукт Art Dabbler представляет собой лучший вариант, если пользователь раньше не имел дело с его налогами. Здесь можно не только освоить графику, но и научиться рисовать на компьютере. К другим преимуществам следует отнести небольшое количество занимаемой памяти и интуитивно понятный интерфейс.

Другая программа - Ultra Fractal. Она уже ориентирована на работу профессионалов, новичкам сложно будет в ней разобраться. Интерфейс здесь достаточно сложный, но производители выполнили его на примере обычного Photoshop. Если пользователь имел дело с этой программой, то в кнопках разберется быстро. Особенность Ultra Fractal заключается в том, что здесь выполняется не только графика фрактальная в качестве стандартного и обычного изображения, но и анимация. Формулы для составления прилагаются, но при необходимости пользователь сможет задействовать свою.

Существующие форматы

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

Если перед пользователем аппликация, большая часть которой выдержана в одном цвете, то разумно использовать форматы BMP и PCX. Здесь заменяется последовательность повторяющихся величин.

Диаграмму, которая очень редко, но все-таки используется во фрактальной графике, логично поместить в TIFF или GIF.

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

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

Сферы применения

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

  1. Компьютерная графика. Реалистично изображаются рельефы и природные объекты. Это применяется в создании компьютерных игр.
  2. Анализ фондовых рынков. Фракталы здесь используются для того, чтобы отметить повторения, которые впоследствии сыграют трейдерам на руку.
  3. Естественные науки. В физике с помощью фрактальной графики моделируются нелинейные процессы. В биологии она описывает строение кровеносной системы.
  4. чтобы уменьшить объем информации.
  5. Создание децентрализованной сети. Посредством фракталов удается обеспечить прямое подключение, а не через центральное регулирование. Поэтому сеть становится более устойчивой.

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

Примеры

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

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

Самым простым примером можно назвать кривую Коха. Во-первых, она не имеет конкретной длины, и ее называют бесконечной. Во-вторых, здесь полностью отсутствует гладкость. Поэтому невозможно построить касательную.

Плюсы и минусы

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

Достоинства фрактальной графики заключаются в нескольких факторах:

  1. Небольшой размер при масштабном рисунке.
  2. Нет конца масштабированию, сложность картинки можно увеличивать бесконечно.
  3. Нет другого такого же инструмента, который позволит создавать сложные фигуры.
  4. Реалистичность.
  5. Простота в создании работ.

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

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

Сходства и различия между фракталом и вектором

Векторная и фрактальная графика очень различаются между собой:

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

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

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

Уникальные особенности фракталов

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фрактал - это фигура с дробной размерностью (не 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). Градиенты также как и флеймы можно сохранять на диск и обмениваться ими между пользователями. На закладке градиента можно регулировать цветовую гамму, контрастность, яркость, размытость, насыщенность...

 
Статьи по теме:
TrueCrypt шифрование важных файлов
TrueCrypt — это программная система для создания и использования шифруемого-на-лету тома (устройства хранения данных). Шифрование-на-лету означает, что данные автоматически шифруются или дешифруются прямо во время их считывания или записи, не отвлекая пол
Какую форму имеет канал гранде
Гранд-канал (Canal Grande) представляет собой основной транспортный канал Венеции, являющийся одновременно и так называемой «главной улицей» этого города на воде. Он пересекает в виде буквы S все пространство города, по его берегам располагаются самые кра
Как заблокировать доступ к вконтакте
Покажу как закрыть доступ ВКонтакте на компьютере. Закрыть доступ вы можете своей подруге или детям, чтобы они не лазили с компьютера вконтакт и не тратили время. Этот способ закроет доступ сайту вконтакте только на компьютере. Заходим в папку etc, она на
Установка Kaspersky Internet Security Параметры и свойства установки программы
Kaspersky Internet Security 2016 - комплексный антивирус, универсальная защита от всех интернет-угроз. Безопасные платежи - защита финансовых операций в интернете. Защита от несанкционированного подключения к веб-камере. Родительский контроль - обеспечен