Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение.

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

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

Цель реферата – рассмотреть основные программы для создания фрактальной графики.

Задачи:

  • рассмотреть понятие фрактальной графики;
  • краткую историю возникновения фракталов;
  • разновидности фракталов.
  • изучить программы для создания фракталов.

Фракталы.

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

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

На первом шаге он брал прямую линию и заменял ее на 9 отрезков длинной в 3 раза меньшей, чем длинна исходной линии. Далее он делал то же самое с каждым отрезком получившейся линии. И так до бесконечности. Ее уникальность в том, что она заполняет всю плоскость. Доказано, что для каждой точки на плоскости можно найти точку, принадлежащую линии Пеано. Кривая Пеано и пыль Кантора выходили за рамки обычных геометрических объектов. Они не имели четкой размерности. Пыль Кантора строилась вроде бы на основании одномерной прямой, но состояла из точек, а кривая Пеано строилась на основании одномерной линии, а в результате получалась плоскость. Во многих других областях науки появлялись задачи, решение которых приводило к странным результатам, на подобие описанных (Броуновское движение, цены на акции).

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

Сам Мандельброт вывел слово fractal от латинского слова fractus, что означает разбитый (поделенный на части).

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

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

Чтобы представить себе фрактал понаглядней рассмотрим пример, приведенный в книге Б.Мандельброта «Фрактальная геометрия природы» ставший классическим – «Какова длина берега Британии?». Ответ на этот вопрос не так прост, как кажется. Все зависит от длины инструмента, которым мы будем пользоваться. Померив берег с помощью километровой линейки мы получим какую–то длину. Однако мы пропустим много небольших заливчиков и полуостровков, которые по размеру намного меньше нашей линейки. Уменьшив размер линейки до, скажем, 1 метра – мы учтем эти детали ландшафта, и, соответственно длина берега станет больше. Пойдем дальше и измерим длину берега с помощью миллиметровой линейки, мы тут учтем детали, которые больше миллиметра, длина будет еще больше. В итоге ответ на такой, казалось бы, простой вопрос может поставить в тупик кого угодно – длина берега Британии бесконечна.

Рождение фрактальной геометрии принято связывать с выходом в 1977 году его книги «Фрактальная геометрия природы».

  • Основное свойство фракталов – самоподобие.

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

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

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

2.Является самоподобной или приближённо самоподобной.

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

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

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

Разновидность фракталов.

Фракталы делятся на:

АЛГЕБРАИЧЕСКИЕ ФРАКТАЛЫ - Свое название они получили за то, что их строят, на основе алгебраических формул иногда весьма простых. Методов получения алгебраических фракталов несколько.

Один из методов представляет собой многократный (итерационный) расчет функции Zn+1=f(Zn), где Z – комплексное число, а f некая функция. Расчет данной функции продолжается до выполнения определенного условия. И когда это условие выполнится – на экран выводится точка. При этом значения функции для разных точек комплексной плоскости может иметь разное поведение:

  • с течением времени стремится к бесконечности.
  • стремится к 0 
  • принимает несколько фиксированных значений и не выходит за их пределы. 
  • поведение хаотично, без каких либо тенденций. 

Множество Мандельброта - Для его построения нам необходимы комплексные числа. Комплексное число – это число, состоящее из двух частей – действительной и мнимой, и обозначается оно a+bi. Действительная часть a это обычное число в нашем представлении, а bi – мнимая часть. i – называют мнимой единицей потому, что если мы возведем i в квадрат, то получим –1. 

Комплексные числа можно складывать, вычитать, умножать, делить, возводить в степень и извлекать корень, нельзя только их сравнивать. Комплексное число можно изобразить как точку на плоскости, у которой координата Х это действительная часть a, а Y это коэффициент при мнимой части b.

Функционально множество Мандельброта определяется как Zn+1=Zn*Zn+C. Черный цвет в середине показывает, что в этих точках функция стремится к нулю – это и есть множество Мандельброта. За пределами этого множества функция стремится к бесконечности. А самое интересное это границы множества. Они то и являются фрактальными. На границах этого множества функция ведет себя непредсказуемо – хаотично. Меняя функцию, условия выхода из цикла можно получать другие фракталы. Например, взяв вместо выражения С=a+bi выражение Z0=a+bi, а С присваивать произвольные значения мы получим множество Жюлиа, тоже красивый фрактал.

Множество Жюлиа, Бассейны (фракталы) Ньютона, Биоморфы, Треугольники Серпинского.

ГЕОМЕТРИЧЕСКИЕ ФРАКТАЛЫ - Именно с них и начиналась история фракталов. Этот тип фракталов получается путем простых геометрических построений. Обычно при построении этих фракталов поступают так: берется «затравка» – аксиома – набор отрезков, на основании которых будет строиться фрактал. Далее к этой «затравке» применяют набор правил, который преобразует ее в какую–либо геометрическую фигуру. Далее к каждой части этой фигуры применяют опять тот же набор правил. С каждым шагом фигура будет становиться все сложнее и сложнее, и если мы проведем бесконечное количество преобразований – получим геометрический фрактал. (приложение 3)

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

Кривая Леви, Кривая Гильберта, Ломаная (кривая) дракона (Фрактал Хартера-Хейтуэя), Множество Кантора, Треугольник Серпинского, Ковер Серпинского, Дерево Пифагора.

Для построения геометрических фракталов хорошо приспособлены так называемые L–Systems. Суть этих систем состоит в том, что имеется определенных набор символов системы, каждый из которых обозначает определенное действие и набор правил преобразования символов.

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

Рукотворные фракталы;

Природные фракталы;

Детерминированные фракталы;

Недетерминированные фракталы.

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

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

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

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

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

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

Фрактальная графика не является, строго говоря, частью векторной графики, поскольку широко использует и растровые объекты. Фракталы широко используются в растровых (AdobePhotoshop) и векторных (CorelDraw) редакторах и трехмерной (CorelBryce) графике.

Программы для создания фрактальной графики/фракталов.

  • Программа Art Dabbler

Этот редактор фактически представляет собой усеченный вариант программы Painter. Это отличная программа для обучения не только компьютерной графике, но прежде всего азам рисования. Как и растровый редактор MS Paint, фрактальный редактор Art Dabbler особенно эффективен на начальном этапе освоения компьютерной графики.

Главное внимание разработчиками пакета Art Dabbler было уделено двум факторам:

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

Art Dabbler предоставляет комплект эффектов (меню Effects), которые могут быть использованы для изменения или искажения изображений. Например, эффект Texturize создает текстуры бумаги, холста и т.п., расширяя творческие возможности художника (приложение 5).

  • Программа Ultra Fractal

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

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

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

  • Программа Fractal Explorer

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

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

  • Программа ChaosPro

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

В списке возможностей программы:

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

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

  • Программа Mystica

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

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

Заключение

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

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

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

Единица фрактальной графики – фрактал.

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

Литература

  1. Мандельброт, Б. Фрактальная геометрия природы / Б. Мандельброт. –
  2. Шляхтина, С. В мире фрактальной графики / С.В.Шляхтина – СПб., Компьютер Price, 2005.
  3. https://works.doklad.ru/view/B3gIrBXzdXg.html
  4. Шредер, М. Фракталы, хаос, степенные законы. Миниатюры из бесконечного рая / М. Шредер.− Ижевск: «РХД», 2001.
  5. Картинки GOOGLE

Приложение 1. Особый вид линии Пеано.

На первом шаге он брал прямую линию и заменял ее на 9 отрезков длинной в 3 раза меньшей, чем длинна исходной линии (Часть 1 и 2 рисунка 1). Далее он делал то же самое с каждым отрезком получившейся линии. И так до бесконечности.

Приложение 2. Алгебраический фрактал.

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

Приложение 3. Геометрические фракталы.

Снежинка Коха Лист

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

Приложение 4. Стохастический фрактал.

Плазма

Приложение 5. Пример создания фрактального изображения с помощью программы Art Dabbler.

Приложение 6. Пример создания фрактального изображения с помощью программы Ultra Fractal.

Приложение 7. Пример создания фрактального изображения с помощью программы Fractal Explorer.

Приложение 8. Пример создания фрактального изображения с помощью программы ChaosPro.

Приложение 9. Пример создания фрактального изображения с помощью программы Apophysis.

Приложение 10. Пример создания фрактального изображения с помощью программы Mystica.