Фрактальное изображение строится по уравнению или по

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фрактальное изображение строится по уравнению или по

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

Фрактал – сложная геометрическая фигура, обладающая свойством самоподобия, т.е. из всей фигуры можно выделить части, подобные целой фигуре. Примеры самоподобных множеств известны с XIX века. Термин «фрактал» (от лат. fractus — раздробленный) впервые ввел в 1975 году математик исследовательского центра IBM Бенуа Мандельброт.

Фракталы можно разделить на несколько видов:

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

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

Некоторые примеры алгебраических и геометрических фракталов

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

Рассмотрим последовательность комплексных чисел:

\[z_ = z_k^2 + c, k = 0, 1, 2, \dots, z_0 = c\]

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

  • прямоугольное окно C с разрешением \(m \times n\) точек;
  • значение \(r_ = 2\) – минимальный радиус расходимости множества Мандельброта
  • максимальное число итераций \(k_\max\)

Если точка \(z_k\) вышла за пределы круга радиуса \(r_\min\) при \(k \lt k_\max\), то процесс вычисления останавливается.

Построение: для каждой точки \(c_ \in C (i = \overline<1, n>, j = \overline<1, m>, c_x \in [-2; 1], c_y \in [-2; 1,5])\) запустим итерационный процесс:

\[x_ = x_k^2 — y_k^2 + c_x, x_0 = c_x\] \[y_ = 2 x_k y_k + c_y, y_0 = c_y\]

где \(k = 0, 1, 2, \dots, k_\max\) и \(\sqrt \leqslant r_\min\).

Составим матрицу M , элементы которой \(m_ \in [1; k_\max]\) равны номерам итераций, на которых процесс был остановлен. Далее матрицу можно вывести на экран как растровое изображение, предварительно сопоставив каждому числу из интервала \([1, k_\max]\) некоторый цвет.

Если представить множество в общем виде:

то, изменяя значение N, можно получать симметричные фрактальные множества. Например, для \(N = 4\) и \(N = 7\):

Фрактал Жюлиа

Рассмотрим ту же последовательность комплексных чисел, что и для множества Мандельброта:

\[z_ = z_k^2 + c, k = 0, 1, 2, \dots\]

Исходные данные, этапы построения и условия остановки – те же, что и для фрактала Мандельброта, за исключением:

  • значение c фиксируется: \(c = 0,36 + 0,36i\)
  • начальное значение \(z_0\) перебирается дискретно в области \(C \in [-1;1] + [-1;1]i\)

Рассматривая множество в общем виде: \(z_ = z_k^N + c\) и изменяя N и с, можно получать разнообразные фрактальные множества:

Бассейны Ньютона

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

Общая формула метода Ньютона имеет вид:

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

Подставив \(p(z)\) в формулу метода, получим итерационную формулу для построения фрактала:

Итерационный процесс останавливается при:

\[\left| z_^3 \right| \leqslant r_\min\]

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

Если записать формулу в общем виде:

\[p(z) = z^N — 1\] \[\left| z_^N — 1 \right| \leqslant r_\min\]

то можно получить изображения фракталов более сложной формы:

L-системы

В 1968 году венгерский биолог Аристид Линденмайер предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена для моделирования сложных ветвящихся структур (разнообразных растений). Эта модель получила название Lindenmayer System (Система Линденмайера или L-система).

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

L-система определяется как \(G = (V, \omega, P)\) , где

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

Правила применяются итеративно, начиная с аксиомы. За одну итерацию применяются одновременно все правила.

Например, L-система имеет вид:

Правила: \((A \rightarrow AB) (B \rightarrow BA)\)

После нескольких применений правил из аксиомы получаются строки:

Для построения графической интерпретации L-системы используется «черепашья графика», т.е. символам из V присваиваются команды управления некоторым простым интерпретатором («пройти вперед», «повернуться», и т. д.).

Пример некоторых фракталов, построенных с помощью L-систем — кривая дракона и растение:

Лист папоротника

Существует несколько способов построения этого фрактала.

1) Построение с помощью системы итерируемых функций (IFS)

Производится 20 итераций функции \(f(x, y)\). Каждое новое значение получается из предыдущего в зависимости от случайного числа, т. е. вычисляется с использованием таблицы распределения:

Вероятность$$x’$$$$y’$$
0,01$$0$$$$0,16y$$
0,85$$0,85x + 0,04y$$$$-0,04x + 0,85y + 1,6$$
0,07$$0,20x — 0,26y$$$$0,23x + 0,22y + 1,6$$
0,07$$-0,15x + 0,28y$$$$0,26x + 0,24y + 0,44$$

После выполнения всех итераций точка рисуется на экране.

Начальные значения x и y могут быть константами (желательно не большими, чем 1) или их можно выбирать случайным образом на отрезке \([0;1]\).

2) Рекурсивное построение

Для построения используется процедура (псевдокод):

\(R(\phi) = \begin \cos(\phi) && \sin(\phi) \\ -\sin(\phi) && \cos(\phi) \end\) — матрица поворота на угол φ.

  • \(p_0 = [x_0; y_0]\) — координаты начальной точки
  • h – высота листа
  • ψ – угол отклонения листа от вертикали
  • side – направление изгиба ветви
  • δ – минимальная длина ветви ветвящегося отрезка
  • rec – максимальная глубина рекурсии

Рекомендуемые значения углов и коэффициентов: \(\phi_0 = 14,9^<\circ>, \phi_1 = 37,7^<\circ>, \phi_2 = 36,8^<\circ>, \phi_3 = 17,6^<\circ>, k_1 = 0,0483, k_2 = 0,162, m_1 = 0,371, m_2 = 0,336, m_3 = 0,849\).

Для получения более реалистичного изображения можно использовать метод управляемой случайности. Метод заключается в том, что в процесс сознательно вносятся помехи. В алгоритме построения ветви папоротника можно внести изменения в углы ветвления φ1, φ2, φ3.

Например, если ввести случайные воздействия на углы помех, равномерно распределенных на интервале \((-10^<\circ>; 10^<\circ>)\), можно получить изображения:

Литература:

  1. Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. – СПб.: БХВ-Петербург, 2005
  2. “L-System”:http://en.wikipedia.org/wiki/L-system
  3. “Фрактал”:http://ru.wikipedia.org/wiki/Фрактал
  4. “Лист папоротника”:http://algolist.manual.ru/graphics/fern.php
  5. “Синтез фракталов: IFS и L-системы”:http://habrahabr.ru/post/134616/
  6. “L-Systems — математическая красота растений”:http://habrahabr.ru/post/69989/
  7. “FRACTALS – построение геометрических фракталов”:http://flash.xaoc.ru/index.swf
  8. Фракталы — “http://elementy.ru/posters/fractals”:http://elementy.ru/posters/fractals

Программы

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

Для запуска всех программ нужен .net Framework версии 3.5 или выше.

Графика фрактальная: описание, примеры, форматы, достоинства и недостатки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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


источники:

http://codemore.ru/2014/01/19/fractals.html

http://oao-ka.ru/programmirovanie/grafika-fraktalnaia-opisanie-primery-formaty-dostoinstva-i-nedostatki/