Между математикой и искусством
Фрактальная геометрия появилась несколько десятилетий назад в результате сотрудничества математиков и программистов. оказалось, что компьютер можно применять для визуализации сложных геометрических и алгебраических структур, которые отличаются уникальным свойством: отдельные участки их узора повторяют очертания всей картины в целом. Поэтому фрагмент фрактального изображения поддается увеличению до бесконечности, при этом перед глазами зрителя предстают все новые и новые конструкции.
Хотя системы уравнений, используемые для построения фрактальных графиков, позволяют создавать многомерные структуры, чисто утилитарный подход к использованию фракталов как инструмента графического дизайна вполне обходится двумя измерениями, а также алгоритмами расчета градиентных переходов внутри изображения. Сама по себе разработка исходных математических формул, способных при визуализации порождать интересные с точки зрения художника эффекты, является скорее делом специалистов, хотя с помощью современных программ любой пользователь сумеет если не создать собственное нелинейное множество, то, по крайней мере, творчески видоизменить любое из известных.
Возможности фракталов широко используются не только в художественной графике. При помощи фрактальных функций часто описывают свойства сложных природных объектов: турбулентных потоков, географических ландшафтов и т.п. Более того, фракталы нашли применение даже в финансовом анализе и в других прикладных дисциплинах. Однако поистине всемирную известность им принесли труды компьютерных художников, вооруженных мощными программными средствами визуализации и обработки изображений.
Следует сразу отметить, что фрактальные графики как таковые нельзя назвать произведением искусства. Путем перебора огромного множества итераций, с помощью тонкой настройки параметров функций и характеристик градиентной заливки цифровым художникам зачастую удается найти настолько завораживающие картины, что они способны надолго приковать внимание зрителя. Но за красивой формой фрактала не скрывается никакого содержания (кроме, конечно же, набора математических формул), а стало быть, художественная ценность такого произведения ничтожно мала. К великому сожалению, большинство художников-фракталистов не обращают внимание на столь существенный изъян своих творений, в результате чего просторы Интернета заполняют бесконечными галереями пестрых картинок с характерными эзотерическими названиями типа «Янтра № 108».
Так что же, фрактальные графики бесполезная забава? Конечно, нет! В умелых руках дизайнера эти чудесные машинные орнаменты превращаются в мощный инструмент, позволяющий придать компьютерной графике уникальный колорит и подчеркнуть общий композиционный замысел. Как правило, фракталы используются в качестве фона или эффектного слоя при создании коллажей, оформительских работ и даже рекламных публикаций. Кроме применения в традиционной двумерной компьютерной графике, они широко распространены и в сфере 3D. С помощью фракталов там создаются текстуры: карты светоотражения, прозрачности и даже рельефа поверхности.
Как вы уже поняли, расчет фрактальных графиков вручную невозможен. Для построения математической модели и ее визуализации служат многочисленные утилиты, самые первые из которых появились более четверти века назад. Из всех существующих сегодня пакетов можно выделить Ultra Fractal 3 (http://www.ultrafractal.com) мощную, полнофункциональную и вместе с тем простую и удобную в работе программу.
Итак, давайте выясним, как работать в Ultra Fractal 3. Впервые открыв окно программы, вы увидите, что в нее уже загружено изображение (рис. 1) известный график создателя фрактальных множеств Мандельброта. Довольно часто именно эта структура берется за основу для дальнейших трансформаций, но сейчас нам интересней овладеть принципами работы программы, чем экспериментировать наугад. Поэтому мы закрываем исходную картинку и задаем команду на открытие нового изображения (File > New > Fractal). В ответ программа выводит диалоговое окно со списком доступных математических формул; из перечня файлов слева выбираем один (по умолчанию это standart.ufm, в дальнейшем вы сможете добавить другие модули), и справа будет показано его содержимое (как правило, для удобства пользования однотипные уравнения помещаются в один файл). Внизу слева приводится исходный текст формул расчета графиков, который нас не интересует, а вот справа от него в уменьшенном масштабе показывается изображение выбранного множества. Выбираем из списка приглянувшийся фрактал, например Slope (Julia), и подтверждаем выбор.
Появившееся изображение не более чем базовая заготовка для дальнейшей работы. Как уже говорилось, визуализируемое изображение определяется системой параметрических уравнений. С настройки этих параметров и начинается видоизменение графика: справа находится панель Layer Properties, на которой под закладкой Formula собраны все доступные модификаторы. Те, которые расположены в начале списка, интересуют нас на данном этапе лишь постольку, поскольку они определяют точность и детализацию прорисовки фрактального растра. А вот дальше следуют текстовые окна со значениями параметров, заданными по умолчанию (в нашем случае первым из них будет Julia Seed, но их количество и названия зависят от выбранной в начале работы формулы). Процесс подбора значений в основном интуитивен, и далеко не все изменения дают положительный эффект; напротив, если ошибиться в допустимом диапазоне, то все изображение может превратиться в пустое черное поле. На рис. 2 вы видите наш исходный фрактал, для которого были выставлены следующие параметры: Julia Seed (Re) -1.11, Julia Seed (Im) 0.25, Exponent (Im) 0.002. Всего лишь три небольшие коррекции, а изображение изменилось до неузнаваемости.
Теперь начинается самое интересное: мы погружаемся в глубины фрактального графика. На панели Fractal Mode выбираем инструмент Select Mode и выделяем в основном окне прямоугольный участок изображения. Если теперь нажать клавишу ввода или дважды кликнуть по выделенной зоне курсором, программа увеличит ее до размеров экрана. При этом количество деталей нисколько не уменьшится, а вот внешний вид графика может в очередной раз кардинально измениться. На рис. 3 показан результат нескольких последовательных увеличений произвольной части исходного изображения. В таком виде фрактал уже годится для использования в качестве элемента оформления, однако основная работа еще впереди.
Некоторые фракталы описываются таким набором уравнений, что каждая точка создаваемого ими пространства является указателем на новое множество функций другого типа. В качестве примера можно открыть новый файл на основе формулы Phoenix (Mandelbrot), а затем переключиться в режим Switch Mode на той же панели Fractal Mode. Теперь нужно поводить курсором над графиком фрактала, и во вспомогательном окне начнут отражаться возможные формы «подчиненного» изображения (рис. 4). Достаточно одного щелчка мыши, чтобы это изобретение открылось в новом окне.
С трансформацией фрактальных графиков мы более-менее разобрались, и теперь на очереди работа с цветом. Как вы уже наверняка поняли, Ultra Fractal 3 по умолчанию использует для визуализации единственный градиентный набор сине-желто-красной гаммы, которая хороша на этапе построения и модификации благодаря высокой контрастности, но вряд ли замысел художника ограничится ею. Чтобы приступить к изменению цвета графика, сначала нужно задать формулу расчета градиентов. Для этого мы выбираем закладку Outside на панели Layer Properties и щелкаем на ней по кнопке Browse. Программа открывает уже знакомое нам окно загрузки формул, однако на этот раз она ищет файлы с расширением .ucl, содержащие алгоритмы цвета. Мы можем воспользоваться стандартным набором и выбрать из него функцию Decomposition. Этот интересный эффект не имеет настраиваемых параметров и создает иллюзию объемности изображения (рис. 5). Если же взять более сложную методику расчета, например Orbit Traps, то в нашем распоряжении окажется около десяти переменных величин, влияющих на итоговое изображение (рис. 6).
Следующий шаг непосредственно подбор цвета. Панель градиентов вызывается клавишей F4 и включает хорошо знакомые дизайнерам ползунки настройки параметров RGB и HSL, а также прозрачности. Главный из них служит для вращения вектора градиента. Используя имеющиеся опорные точки, а также добавляя новые, мы можем менять не только составляющие его цвета, но и резкость перехода между ними.
Можно постараться подобрать комбинацию цветов вручную (рис. 7), но есть более простой, хотя и менее предсказуемый путь: нажатие клавиш F6 и F7 запускает генерацию случайных сочетаний оттенков. Кроме того, существует полезная функция Randomize Color, которая позволяет произвольным образом изменять базовый цвет композиции. Если после этого включить функцию Link Color and Opacity (комбинация клавиш Ctrl + L), то прозрачность будет привязана к градиенту. Смысл этой операции прост: Ultra Fractal 3 поддерживает запись изображений в форматах PNG, TIFF и Photoshop PSD с сохранением прозрачности. Именно эта возможность и важна для дальнейшего использования созданных фрактальных графиков в других графических программах. Впрочем, в Ultra Fractal 3 заложена собственная поддержка слоев, поэтому мы можем комбинировать элементы изображения, не прибегая к помощи других пакетов.
После того как фрактальный график приведен в соответствие с замыслом художника, можно запускать процедуру окончательного рендеринга в файл (комбинация клавиш Ctrl + R). При этом мы задаем формат для сохранения, размеры и разрешение изображения, а также, при необходимости, и качество сглаживания. Разумеется, результаты работы сохраняются и во внутреннем формате Ultra Fractal 3, что позволяет использовать созданную версию фрактального множества еще не раз.
В данной публикации мы затронули лишь базовые аспекты создания и обработки фрактальных графиков. Более детально ознакомиться с этими удивительными функциями можно в процессе работы с программой Ultra Fractal 3. Мы надеемся, что с ее помощью вы сумеете воплотить в жизнь свои самые смелые и интересные художественные проекты.