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

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

Ключевые слова: фрактальная графика, орнамент, арабеска, абстракция, живопись, компьютер, монотипия

Fractal graphic as digital objectless art.

Abstract: This article analyses the phenomena of digital computer graphics, based on mathematics calculations, and possibilities of using it in different modern art techniques.

Digital fractal patterns are irregular, self-similar structures, which are based on natural objects`s group of similar characteristics, such as: corals, starfishes, sea urchins, snowflakes, crowns of the trees. The principle of such image forming is natural, and it becomes much more interesting to watch it`s digital mathematic simulation.

In contrast to digital graphic and painting, fractal graphic does not base on classic art traditions. The most resembling to the fractal graphics are objectless ornamental traditions, which takes the principles of infinite spatial creation of similar groups. The article includes the comparison of general ornamental rules and features of fractal images.

Owing to the fact that modern computer software allows to create the digital fractal graphic without special mathematics skills, an artist can combine traditional and digital painting and abstract fractal graphic to reach that level of balance and fortuity of an image, that abstract artist tried to get, using traditional techniques.

The fractal graphic is examined as an digital analog of traditional painting technique of monotyping in complex art work. Author underlines the likeness of many digital and material ways of creating the images. The final visual language of the piece of art still remains to be more important, than technological details of it`s production.

Keywords: fractal graphic, ornament, arabesque, abstraction, painting, computer, monotyping

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

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

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

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

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

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

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

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

Такой подход создает уравновешенную композицию с возможностью продолжать ее бесконечно.

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

Приведу для примера некоторые законы орнаментальной композиции:

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

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

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

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

Пример фрактальной графики - демонстрация самоповторяющейся структуры фрактала. Обратите внимание на сбланасированные сочетания цветов.

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

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

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

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

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

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

Технологический процесс создания простой одноцветной монотипии.

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

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

Юрий Вайс . «Абстракция». Бумага, акварель, карандаш, Photoshop. Абстрактная живописная композиция, созданная на основе монотипии.

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

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

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

Слева  - абстрактная живопись, Герхард Рихтер A.B. Courbet , холст, масло 1986 г. Cправа  - пример фрактальной цифровой графики.

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

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

Юрий Вайс «Калейдоскопы», бумага, акварель, карандаш, Photoshop

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

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

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

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

Список литературы:

  1. Б.Р.Виппер. Введение в историческое изучение искусства. - М., 1970. С. 145–160
  2. Федер Е. Фракталы // Пер. с англ.-Москва, Мир, 1991.
  3. Фракталы в простых числах
  4. Мандельброт Б. Фрактальная геометрия природы.// Бенуа Мандельброт - изд-во Институт компьютерных исследований. Москва - Ижевск, 2002. С. 17–18, С. 59
  5. Мандельброт Б. Фракталы и хаос. Множество Мандельброта и другие чудеса // Бенуа Мандельброт. - Ижевск,: НИЦ «Регулярная и хаотическая динамика», 2009.
  6. Морозов А.Д. Введение в теорию фракталов. - Москва-Ижевск: Институт компьютерных исследований, 2002. С. 18
  7. Что такое фракталы

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

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

Центром фрактальной фигуры является её простейший элемент - треугольник с равными сторонами, который назвали «фрактальный». На середине сторон треугольника строят такие же равносторонние треугольники, которые равны одной третьей стороны исходной фигуры. Затем, на треугольниках первого поколения выстраивают треугольники второго поколения, но уже со стороной равно одной девятой от стороны центрального треугольника. Этот процесс можно продолжать нескончаемое число раз.

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

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

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

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

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

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

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

Введение

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

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

1. Теоретическая часть

1.1Применение фракталов

·Компьютерные системы.

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

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

·Механика жидкостей.

Изучение турбулентности в потоках очень хорошо подстраивается под фракталы. Турбулентные потоки хаотичны и поэтому их сложно точно смоделировать.

При помощи фракталов также можно смоделировать языки пламени.

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

·Телекоммуникации.

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

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

1.2Классификация фракталов

Вообще фракталом называется предмет который обладает одним из указанных свойств:

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

vЯвляется самоподобным или приближенно самоподобным.

vОбладает дробной метрической размерностью.

В основном фракталы классифицируют по трём видам:

.Алгебраические фракталы

.Геометрические фракталы

.Стохастические фракталы

Алгебраические фракталы

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

получения алгебраических фракталов несколько. Один из методов представляет собой многократный (итерационный) расчет функции Zn+1=f(Zn), где Z - комплексное число, а f некая функция. Расчет данной функции продолжается до выполнения определенного условия. И когда это условие выполнится - на экран выводится точка. При этом функция для разных точек комплексной плоскости может иметь разное поведение: с течением времени она может стремиться к бесконечности; стремиться к 0; принимать несколько фиксированных значений и не выходить за их пределы. Поведение хаотично, без каких-либо тенденций. Таким образом было получено множество Мандельброта - фрактал, определённый, как множество точек С на комплексной плоскости. Бенуа Мандельброт предложил модель фрактала, которая стала классической и часто используется для демонстрации, как типичного примера самого фрактала, так и для демонстрации красоты фракталов, которая также привлекает исследователей, художников, просто интересующихся людей.

Рис.1. Пример алгебраического фрактала.

Геометрические фракталы

Фракталы этого класса самые наглядные, потому что в них сразу видна самоподобность. В двухмерном случае такие фракталы можно получить, задав некоторую ломаную, называемую генератором. За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор. В результате бесконечного повторения этой процедуры (а, точнее, при переходе к пределу) получается фрактальная кривая. При видимой сложности полученной кривой, её общий вид задается только формой генератора. Примерами таких кривых служат: кривая Коха (снежинка Коха), кривая Леви, кривая Минковского, кривая Пеано.

Рис.2. Пример геометрического фрактала.

Стохастические фракталы

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

1.3Виды фракталов

Рассмотрим несколько распространённых видов фракталов.

Решётка Серпинского.

Это один из фракталов, с которыми экспериментировал Мандельброт, когда разрабатывал концепции фрактальных размерностей и итераций. Треугольники, сформированные соединением средних точек большего треугольника вырезаны из главного треугольника, образовывая треугольник, с большим количеством дырочек. В этом случае инициатор - большой треугольник а шаблон - операция вырезания треугольников, подобных большему. Так же можно получить и трехмерную версию треугольника, используя обыкновенный тетраэдр и вырезая маленькие тетраэдры. Размерность такого фрактала ln3/ln2 = 1.584962501.

Рис.3. Решетка Серпинского.

Треугольник Серпинского.

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

Рис.4. Треугольник Серпинского.

Кривая Коха.

Кривая Коха один из самых типичных детерминированных фракталов. Она была изобретена в 1904 году шведским математиком по имени Хельге фон Кох, который, изучая работы Георга Контора и Карла Вейерштрассе, натолкнулся на описания некоторых странных кривых с необычным поведением. Инициатор - прямая линия. Генератор - равносторонний треугольник, стороны которого равны трети длины большего отрезка. Эти треугольники добавляются к середине каждого сегмента снова и снова. В своем исследовании, Мандельброт много экспериментировал с кривыми Коха, и получил фигуры такие как Острова Коха, Кресты Коха, Снежинки Коха и даже трехмерные представления кривой Коха, используя тетраэдр и прибавляя меньшие по размерам тетраэдры к каждой его грани. Кривая Коха имеет размерность ln4/ln3 = 1.261859507.

Рис.5. Кривая Коха.

Фрактал Мандельброта.

Это НЕ множество Мандельброта, которое можно достаточно часто видеть. Множество Мандельброта основано на нелинейных уравнениях и является комплексным фракталом. Это тоже вариант кривой Коха несмотря на то, что этот объект не похож на нее. Инициатор и генератор так же отличны от использованных для создания фракталов, основанных на принципе кривой Коха, но идея остается той же. Вместо того, чтобы присоединять равносторонние треугольники к отрезку кривой, квадраты присоединяются к квадрату. Благодаря тому, что этот фрактал занимает точно половину отведенного пространства при каждой итерации, он имеет простую фрактальную размерность 3/2 = 1.5

Рис.6. Фрактал Мандельброта.

Кривая Дракона.

Изобретенная итальянским математиком Джузеппе Пеано, Кривая Дракона или Взмах Дракона, как он назвал его, очень похож на колбасу Минковского. Использован более простой инициатор, а генератор тот же самый. Мандельброт назвал этот фрактал Река Двойного Дракона. Его фрактальная размерность приблизительно равна 1.5236.

Рис.7. Дракон Джузеппе Пеано.

Множество Мандельброта.

Множества Мандельброта и Жюлиа, вероятно, два наиболее распространенных среди сложных фракталов. Их можно найти во многих научных журналах, обложках книг, открытках, и в компьютерных хранителях экрана. Множество Мандельброта, которое было построено Бенуа Мандельбротом, наверное первая ассоциация, возникающая у людей, когда они слышат слово фрактал. Этот фрактал, напоминающий чесальную машину с прикрепленными к ней пылающими древовидными и круглыми областями, генерируется простой формулой Zn+1=Zna+C, где Z и C - комплексные числа и а - положительное число.

Множество Мандельброта, которое чаще всего можно увидеть - это множество Мандельброта 2й степени, то есть а=2. Тот факт, что множество Мандельброта не только Zn+1=ZnІ+C, а фрактал, показатель в формуле которого может быть любым положительным числом ввел в заблуждение многих. На этой странице вы видите пример множества Мандельброта для различных значений показателя а.

Также популярен процесс Z=Z*tg (Z+C). Благодаря включению функции тангенса, получается множество Мандельброта, окруженное областью, напоминающей яблоко. При использовании функции косинуса, получаются эффекты воздушных пузырьков. Короче говоря, существует бесконечное количество способов настройки множества Мандельброта для получения различных красивых картинок.

Рис.8. Множество Мандельброта.

Модель Джулии

Модель фрактала Джулии имеет то же уравнение, что и модель Мандельброта: Z=Z 2 +c, только здесь переменным параметром является не c , a z.

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

Рис.9. Модель Джулии.

2. Постановка задачи

Необходимо спроектировать и разработать программный продукт, при помощи которого возможно наглядно посмотреть изображения фрактальной графики. Программа должна позволять раскрыть сущность фрактала - многократное самоповторение (всего изображения или определённой его части). Интерфейс должен быть максимально понятным. Скорость работы должна быть такой, чтобы сбалансировать производительность и качество, то есть при данной скорости прорисовывается достаточно наглядное изображение. Необходима так же возможность сохранения фрактального изображения. Программа должна быть интуитивно понятной и "не отталкивать при первом взгляде". Возможностями программы должны быть доступны прорисовки алгебраического и геометрического фракталов.


Рис.10. Схема работы программы.

Работать мы будем в среде программирования PascalABC.NET, поговорим о ней подробнее. PascalABC.NET - это язык программирования Паскаль нового поколения, который включает в себя классический Паскаль, большинство возможностей языка Delphi , а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства такие как: классы , перегрузку операций , интерфейсы , обработку исключений , обобщенные классы и подпрограммы , сборку мусора , лямбда-выражения, средства параллельного программирования ..NET является мультипарадигменным языком: на нем можно программировать в структурном , объектно-ориентированном и функциональном стилях. Также это простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense , содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм. Кроме того, консольный компилятор PascalABC.NET функционирует на Linux и MacOS под Mono .

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

Особенности:

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

·среда разработки, ориентированная на обучение: подсказки по коду, отладчик, автоформатирование кода и подсветка синтаксиса, простая навигация по коду и т.д.

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

·средства параллельного программирования (директивы OpenMP).

·обучающий инструментарий, сохранившийся с Pascal ABC: встроенный задачник, механизм проверяемых заданий, "исполнители" Робот и Чертежник и т.д.

По функциональному назначению выделяется три области экрана:

ØСтрока меню

ØРабочая область

ØСтрока состояния

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

Рис.11. Главное окно в PascalABC.NET

Основные команды и горячие клавиши.

Основные команды языка программирования Pascal и соответствующие им горячие клавиши:

·Ctrl+F9 - запуск программы

·Alt+F5 - просмотр пользовательского экрана

·F2 - сохранение программы

·F3 - открытие сохраненной программы

·Alt+F3 - закрытие активного окна

·Alt+X - выход из Турбо Паскаль

·F1 - контекстная помощь

·Ctrl+F1 - справка об операторе, на котором установлен курсор

·Alt+Backspace - отмена последнего изменения

·Ctrl+Y - удаление строки

·Shift+стрелки - выделение блока текста

·Ctrl+Insert - копирование выделенного блока в буфер

·Shift+Insert - вставка из буфера

Операции отношения.

К операциям отношения в Pascal относят:

·> - больше

·< - меньше

·= - равно

·<> - не равно

·>= - больше или равно

·<= - меньше или равно

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

Приоритет операций.

Существует следующий приоритет операций:

·унарная операция not, унарный минус -, взятие адреса @

·операции типа умножения: * / div mod and

·операции типа сложения: + - or xor

·операции отношения: = <> < > <= >= in

Логические операции.

·NOT - логическое отрицание ("НЕ")

·AND - логическое умножение ("И")

·OR - логическое сложение ("ИЛИ")

·XOR - логическое ("Исключающее ИЛИ")

Структура программы

Программа на языке Pascal состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы должен содержат имя программы (program tab;)

Описания могут включать в себя:

фрактал стохастический множество кривая

Рис.12.Структура программы.

Раздел описания модулей. Состоит из служебного слова USES и содержит имена подключаемых модулей (библиотек). Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей разделяются друг от друга запятыми (uses CRT,tab;).

Все метки, которые используются в программе, должны быть описаны в разделе описания меток (label 5, 365, 95, Quit;).

Описание констант позволяет использовать имена как синонимы констант, их необходимо определить в разделе описания констант:K=524; MAX= 17850;

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

var S,R,M: Integer;,Y: Char;,D6: Boolean;

Раздел операторов - составной оператор, содержащий между служебными словами begin.......end последовательность операторов. Операторы отделяются символом " ; ". А текст заканчивается точкой(.) .

Кроме описаний и операторов PascalABC.NET может содержать комментарии, представляющие собой произвольную последовательность символов, которые располагаются между скобкой комментариев { ... }:

3. Практическая часть

В этой части мы приступим к созданию фракталов, в нашем случае это треугольник Серпинского. Этот фрактал описал в 1915 году польский математик Вацлав Серпинский. Чтобы его получить, нужно взять (равносторонний) треугольник с внутренностью, провести в нём средние линии и выкинуть центральный из четырех образовавшихся маленьких треугольников. Дальше эти же действия нужно повторить с каждым из оставшихся трех треугольников, и т. д. На рисунке показаны первые три шага.

Рис.13. Пошаговое создание треугольника Серпинского.

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

Рис.14. Пошаговое создание треугольника Серпинского.

Вот наш конечный код написание нашей программы треугольника Серпинского в среде программирования PascalABC.NET.

program Serpinskiy;CRT, GraphABC;, gm: Integer;= 9;tr(x1, y1, x2, y2, x3, y3: Real);(Round(x1), Round(y1), Round(x2), Round(y2));(Round(x2), Round(y2), Round(x3), Round(y3));(Round(x3), Round(y3), Round(x1), Round(y1));;draw(x1, y1, x2, y2, x3, y3: Real; n: Integer);n, y1n, x2n, y2n, x3n, y3n: Real;n > 0 thenn:= (x1 + x2) / 2;n:= (y1 + y2) / 2;n:= (x2 + x3) / 2;n:= (y2 + y3) / 2;n:= (x3 + x1) / 2;n:= (y3 + y1) / 2;(x1n, y1n, x2n, y2n, x3n, y3n);(x1, y1, x1n, y1n, x3n, y3n, n - 1);(x2, y2, x1n, y1n, x2n, y2n, n - 1);(x3, y3, x2n, y2n, x3n, y3n, n - 1);;;(320,10,600,470,40,470);(320,10,600,470,40,470,iter);{}.

Рис.15. Готовая программа в PascalABC.NET.

После того как написали код, следует запустить нашу программу. Для этого заходим в раздел "Программа" и выбираем пункт "Выполнить без связи с оболочкой".

Рис.16. Запуск программы.

После запуска откроется дополнительное окно, в котором мы можем увидеть наш готовый рисунок.

Рис.17. Готовый Треугольник Серпинского.

Заключение

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

Список литературы

1.Божокин С.В., Паршин Д.А. Фракталы и мультифракталы. РХД 2008 г.

Дж.Милнор Голоморфная динамика. РХД 2010 г.

Витолин Д. Применение фракталов в машинной графике. // Computerworld-Россия.-2007.

Пайтген Х.-О., Рихтер П. Х. Красота фракталов. - М.: "Мир", 2009.

Кроновер Р. М. Фракталы и хаос в динамических системах. Основы теории 2011.

Мандельброт Б. Самоаффинные фрактальные множества, "Фракталы в физике". М.: Мир 2010.

Мандельброт Б. Фрактальная геометрия природы. 2009.

Морозов А.Д. Введение в теорию фракталов. Н.Новгород: Изд-во Нижегород. ун-та 2009.

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

Определение . Фрактал - это объект, отдельные элементарные части которого повторяют (наследуют) свойства своих «родительских » структур.

Понятия фрактал и фрактальная геометрия (от лат. fractus - состоящий из фрагментов ) впервые были предложены в 1975 г. математиком Б.Мандельбротом для обозначения нерегулярных , но самоподобных структур . Рождение фрактальной геометрии связывают с выходом в 1977 г. его книги «Фрактальная геометрия природы», в которой были объединены в единую систему научные разработки учёных, работавших в этой области (Пуанкаре, Жюлиа, Кантор и др.). С точки зрения компьютерной графики фрактальная геометрия незаменима при задании линий и поверхностей достаточно сложной формы, а также при генерации объектов, образы которых весьма похожи на природные.

Одним из основных свойств фракталов является их самоподобие . В самом простом случае небольшая часть фрактала содержит информацию обо всём фрактале в целом. Существует большое разнообразие фракталов. Потенциально наиболее полезным их видом являются фракталы на основе системы итеративных функций (Iterated Function System – IFS ). Метод IFS , изобретённый Майклом Барнсли и его коллегами из Технологического института шт. Джорджия (США), применительно к построению фрактальных изображений базируется на самоподобии их отдельных элементов и заключается в моделировании всего рисунка несколькими меньшими его фрагментами . Специальные уравнения позволяют переносить, поворачивать и изменять масштаб отдельных участков изображения, служащих компоновочными блоками для остальной части картины в целом.

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

Посмотрим, как строится простейший фрактал - фрактальный треугольник, его еще называют «снежинка Коха » (рис. 8.2.). Используя простейший алгоритм, треугольники можно достраивать аналогичным образом до бесконечности, что приведёт к получению объекта любого уровня сложности. При этом в отличие от векторной графики, ничего кроме самих уравнений в памяти ком-пьютера хранить не нужно. Вся информация, необходимая для воспроизведения этого фрактала, будет занимать всего лишь несколько десятков байт. Возникает вопрос - а можно ли сжимать данные, подобрав для этого подходящий фрактальный алгоритм? Принципиально - можно, и в этом направлении в настоящее время ведутся активные исследования. Некоторые уже разработанные фрактальные алгоритмы позволяют сжимать определенные типы файлов в 30 раз и более.


8.6.Трехмерная (3D) графика.

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

§ Спроектировать и создать виртуальный каркас скелет ») объекта, наиболее полно соответствующий его реальной форме;

§ Спроектировать и создать виртуальные материалы (текстуры ), по физическим свойствам визуализации похожие на реальные;

§ Наложить виртуальные материалы на различные части поверхности объекта (спроецировать текстуры на объект );

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

§ Задать траекторию движения объекта;

§ Наложить поверхностные эффекты на итоговый анимационный сюжет.

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

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

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

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

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

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

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

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

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

§ Softimage 3D (фирмаMicrosoft). Программа изначально создавалась для специализированных графических станций и лишь сравнительно недавно была конвертирована под операционную систему Windows NT. Её отличают богатые возможности моделирования, наличие большого числа регулируемых физических и кинематографических параметров, качественный и достаточно быстрый модуль для рендеринга и множество программных дополнений, значительно расширяющих функции пакета. Однако на платформе IBM PC Softimage 3D выглядит несколько тяжеловато и требует достаточно мощных аппаратных ресурсов.

§ Maya (фирмыAlias, Wavefront, TDI). Один из наиболее передовых пакетов в классе средств создания и обработки трехмерной графики для персональных компьютеров с точки зрения интерфейса и функциональных возможностей. Существует в вариантах для различных операционных систем, в том числе и Windows NT. Весь инструментарий Maya сведен в четыре группы: анимация (Animation ), моделирование (Modeling ), физическое моделирование (Dynamic ) и визуализация (Rendering ). Пакет имеет модульное построение и включает в себя программные блоки, обеспечивающие имитацию физических твердых тел, захват движения, обработку звука, обработку вирту­альных моделей методами, характерными для реальной работы скульпторов и художников, а также сопряжение реальных натурных съемок с компьютерной анимацией и т.д.

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

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

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

Прежде чем перейти к рассмотрению фрактальной графики, рассмотрим, в чем суть компьютерной, или «машинной», графики, а также общепринятую классификацию компьютерной графики (Computer Graphics, CG). Это понятие появилось относительно недавно, в 60-х годах прошлого столетия, когда были изобретены электронные вычислительные устройства. Термин «компьютерная графика» трактуется в различных источниках по-разному. Некоторые определяют его как область информатики, занимающуюся вопросами получения различных изображений (рисунков, чертежей, мультипликации) на компьютере. Компьютерная графика охватывает все виды и формы представления изображений, доступные для человеческого восприятия на экране монитора или в виде копии на внешнем носителе (бумаге, ткани, кинопленке и т.п.). В других источниках компьютерная графика называется специальной областью информатики, изучающей методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов.

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

В зависимости от способа формирования изображений компьютерная графика делится на растровую, векторную и фрактальную (рис. 1).

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

Рис. 1. Типы компьютерной графики: а — растровая; б — векторная; в — фрактальная

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

Рис. 2. Пример фрактальности в природе — капуста Романеску

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

Фрактальная графика относительно молода по сравнению с растровой и векторной графикой. Основой фрактальной графики является фрактальная геометрия, позволяющая математически описывать различные виды неоднородностей, встречающихся в природе. Понятия «фрактал», «фрактальная геометрия» и «фрактальная графика» появились в конце 1970-х. Слово «фрактал» образовано от латинского fractus и означает «состоящий из фрагментов». Оно было предложено математиком Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги «The Fractal Geometry of Nature» Бенуа Мандельброта. Определение фрактала, данное Мандельбротом: фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому. Самоподобие — одно из основных свойств фракталов. Таким образом, фрактальная графика — это вид компьютерной графики, в которой в той или иной мере используются самоподобные структуры (проще говоря, фракталы). Далее мы поговорим о том, что же такое самоподобие и где в природе встречаются фракталы.

Что подразумевается под самоподобием? Капуста Романеску из Италии — самый характерный пример фрактального объекта в природе. Капустные почки у нее нарастают в виде некой спирали (рис. 2), которая называется логарифмической, а число капустных почек совпадает с числом Фибоначчи. Числа Фибоначчи — это элементы числовой последовательности 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946…, в которой каждое последующее число равно сумме двух предыдущих чисел. Свое название они получили в честь средневекового математика Леонардо Пизанского (известного как Фибоначчи). Каждая часть элементов капусты Романеску имеет ту же форму, что и весь кочан. Это свойство повторяется с регулярностью в различных масштабах. По сути эта капуста является природным фракталом. То есть как бы мы ни увеличивали фрактал, после каждого шага мы увидим ту же форму, что характерна для данного фрактала в целом. Таким образом, с фракталами тесно связаны еще два понятия — итерация и рекурсия. Рекурсия — процесс повторения элементов самоподобным образом. Итерация — упрощенно говоря — повторное применение какой-либо математической операции.

На самом деле фрактальные свойства имеет очень большое количество природных объектов — просто мало кто об этом задумывается. Вы можете любоваться облаками на небе, набегающими волнами прибоя, ходить по лесу — и даже не подозревать, что в основе этой красоты лежит математика! Да-да! Исследования фрактальных свойств природных объектов начал проводить еще Бенуа Мандельброт. Оказывается, несмотря на всю сложность природных объектов, многие из них в принципе описываются довольно простыми математическими формулами. Хотя в чистом виде фракталы в природе не существуют. То, что мы наблюдаем, — это так называемые стохастические фракталы. То есть такие фракталы, которые получаются в том случае, если в итерационном процессе случайным образом менять какие-либо его параметры. «Чистый» фрактал можно приближать до бесконечности, поскольку он обладает бесконечной рекурсией, а вот о стохастических фракталах этого сказать нельзя.

Следует отметить, что слово «фрактал» не является математическим термином и не имеет общепринятого строгого математического определения. Оно может употребляться, когда рассматриваемая фигура обладает какими-либо из следующих свойств:

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

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

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

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

Один из простейших примеров линейного фрактала — кривая Коха (1904 год, немецкий математик Хельга фон Кох).

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

Одним из первых нелинейные фракталы описал французский математик Гастон Жюлиа еще в 1918 году. Но в его работе отсутствовали изображения исследованных им множеств и термин «фрактал».

В наше время компьютеры позволили получить изображения множеств Жюлиа (рис. 4а ), которые вместе с множествами Мандельброта(рис. 4б ) являются ныне самыми известными квадратичными фрактальными структурами.

Оба типа фракталов возникают в результате реализации на комплексной плоскости самого простого нелинейного алгоритма.

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

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

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

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

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

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

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

В заключение хотелось бы отметить следующее: фрактальная графика — одно из самых необычных и перспективных направлений в компьютерной графике. Результаты, которые можно получить с ее помощью, поражают воображение даже самых искушенных ценителей компьютерного искусства. Так, изображения, создаваемые с помощью программ-фракталогенераторов, порой содержат совершенно фантастические и необычные пейзажи (рис. 5), которые даже не снились художникам-сюрреалистам. И наоборот, с помощью фрактальной графики можно с удивительной точностью изобразить то, что мы видим в окружающем нас мире. Воистину мир фракталов удивителен! 

Продолжение следует.