Компьютерная графика. Применение, примеры и изображения фрактальной графики





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

Как был открыт фрактал

Математические формы, известные как фракталы, принадлежат гению выдающегося ученого Бенуа Мандельброта. Большую часть жизни он провёл в Соединенных Штатах, где преподавал математику в Йельском университете. В 1977 и 1982 годах Мандельброт опубликовал научные труды, посвященные изучению «фрактальной геометрии» или «геометрии природы».

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

Как устроен фрактал

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

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

Изображение объектов фрактальной графики

Изображение объектов фрактальной графики в природе

Фракталы в природе

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

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

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

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

Фракталы в цифровой технике

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

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

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

Фракталы в сети

Принцип фрактального сжатия информации для компактного сохранения сведений об узлах сети «Netsukuku» использует система назначения IP-адресов. Каждый её узел хранит 4 килобайта информации о состоянии соседних узлов.

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

Фракталы в графике

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

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

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

Базовыми понятиями фрактальной компьютерной графики являются:

  • Фрактальный треугольник - фрактальная фигура - фрактальный объект (иерархия в порядке убывания)
  • Фрактальная прямая
  • Фрактальная композиция
  • «Объект-родитель» и «Объект наследник»

Создание фрактальной графики картинки

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

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

Как построить фрактал?

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

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

Среди фрактальных графических редакторов и прочих графических программ можно выделить:

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

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

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

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

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

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

Прежде чем перейти к рассмотрению фрактальной графики, рассмотрим, в чем суть компьютерной, или «машинной», графики, а также общепринятую классификацию компьютерной графики (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), которые даже не снились художникам-сюрреалистам. И наоборот, с помощью фрактальной графики можно с удивительной точностью изобразить то, что мы видим в окружающем нас мире. Воистину мир фракталов удивителен! 

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

Рейтинг: / 18

ПлохоОтлично

Растровая, векторная и фрактальная графика

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

Растровая и векторная графика создается в специальных программах - графических редакторах и процессорах. Например, программы Paint и Gimp являются растровыми, а Inkscape - векторым.

Растровая графика

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

Пиксель – наименьший элемент изображения на экране компьютера. Размер экранного пикселя приблизительно 0,0018 дюйма.

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

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

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

Кодирование графической информации

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

Число цветов (К), воспроизводимых на экране дисплея, зависти от числа бит ( N ), отводимых в видеопамяти под каждый пиксель:

K =2 N

Для получения богатой палитры цветов базовым цветам могут быть заданы различные интенсивности. Например, при глубине цвета в 24 бита на каждый из цветов выделяется по 8 бит ( RGB ), т.е. для каждого из цветов возможны K = 28 = 256 уровней интенсивности. Один бит видеопамяти занимает информация об одном пикселе на черно-белом экране (без полутонов).

Величину N называют битовой глубиной.

Страница - раздел видеопамяти, вмещающий информацию об одном образе экрана (одной "картинке" на экране). В видеопамяти одновременно могут размещаться несколько страниц.

Если на экране с разрешающей способностью 800 х 600 высвечиваются только двухцветные изображения, то битовая глубина двухцветного изображения равна 1, а объем видеопамяти на одну страницу изображения равен 800 * 600 * 1 = 480000 бит = 60000 байт.

Для хранения двух страниц изображения при условии, что разрешающая способность дисплея равна 640 х 350 пикселей, а количество используемых цветов - 16 будет таким: 640 * 350 * 4 * 2 = 1792000 бит = 218,75 Кбайт

Количество используемых цветов - 16, это 2 4 , значит, битовая глубина цвета равна 4.

Векторная графика

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

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

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

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

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

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

Файлы векторной графики могут содержать растровые объекты.

Достоинства векторной графики

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Понятие фрактала и история появления фрактальной графики

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

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

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

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

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

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

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

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

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

Берем отрезок и среднюю его треть переламываем под углом 60 градусов. Затем повторяем эту операцию с каждой из частей получившейся ломаной – и так до бесконечности. В результате мы получим простейший фрактал – триадную кривую , которую в 1904 году открыла математик Хельга фон Кох .

Если на каждом шаге не только уменьшать основной мотив, но также смещать и поворачивать его, можно получить более интересные и реалистически выглядящие образования, например, лист папоротника или даже целые их заросли. А можно построить весьма правдоподобный фрактальный рельеф местности и покрыть её очень симпатичным лесом. В 3D Studio Max, например, для генерации деревьев используется фрактальный алгоритм. И это не исключение – большинство текстур местности в современных компьютерных играх представляют фракталы. Горы, лес и облака на картинке – фракталы.

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

Понятие размерности и ее расчет

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

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

Если смотреть с математической точки зрения, то размерность определяется следующим образом: для одномерных объектов – увеличение в два раза их линейного размера приводит к увеличению размеров (в данном случае длинны) в два раза (2^1).

Для двумерных объектов увеличение в два раза линейных размеров приводит к увеличению размера (например, площадь прямоугольника) в четыре раза (2^2).

Для 3–х мерных объектов увеличение линейных размеров в два раза приводи к увеличению объема в восемь раз (2^3) и так далее.

Рассчитаем размерность для кривой Пеано. Исходная линия, состоящая из трех отрезков длинны Х, заменяется на 9 отрезков втрое меньшей длинны. Таким образом, при увеличении минимального отрезка в 3 раза длина всей линии увеличивается в 9 раз и D=log(9)/log(3)=2 – двумерный объект.

Когда размерность фигуры получаемой из каких–то простейших объектов (отрезков) больше размерности этих объектов – мы имеем дело с фракталом.

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

Именно с них и начиналась история фракталов. Этот тип фракталов получается путем простых геометрических построений. Обычно при построении этих фракталов поступают так: берется «затравка» – аксиома – набор отрезков, на основании которых будет строиться фрактал. Далее к этой «затравке» применяют набор правил, который преобразует ее в какую–либо геометрическую фигуру. Далее к каждой части этой фигуры применяют опять тот же набор правил. С каждым шагом фигура будет становиться все сложнее и сложнее, и если мы проведем бесконечное количество преобразований – получим геометрический фрактал.

Рассмотренная ранее кривая Пеано является геометрическим фракталом. На рис. ниже приведены другие примеры геометрических фракталов (слева направо Снежинка Коха, Лист, Треугольник Серпинского).


Рис. Снежинка Коха


Рис. Лист


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

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

Размерность снежинки Коха (при увеличении снежинки в 3 раза ее длина возрастает в 4 раза) D=log(4)/log(3)=1.2619...

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

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

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

    с течением времени стремится к бесконечности.

    стремится к 0

    принимает несколько фиксированных значений и не выходит за их пределы.

    поведение хаотично, без каких либо тенденций.

Чтобы проиллюстрировать алгебраические фракталы обратимся к классике – множеству Мандельброта .

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

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

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

Функционально множество Мандельброта определяется как Zn+1=Zn*Zn+C. Для построения множества Мандельброта воспользуемся алгоритмом на Бейсике.

For a=–2 to 2 " для всех действительных а от –2 до 2

For b=–2 to 2 " для всех мнимых b от –2 до 2

"Принадлежит множеству Мандельброта

"Повторяем 255 раз (для режима 256 цветов)

For iteration=1 to 255

"Проверили – не принадлежит

If abs(Zn)>2 then Lake=False: Exit For

"Нарисовали черную точку,принадлежащую "озеру" Мандельброта.

If Lake=True Then PutPixel(a,b,BLACK)

" Нарисовали точку не принадлежащую множеству или лежащую на границе.

Else PutPixel(a, b, iteration)

А теперь опишу программку словами. Для всех точек на комплексной плоскости в интервале от –2+2i до 2+2i выполняем некоторое достаточно большое количество раз Zn=Z0*Z0+C, каждый раз проверяя абсолютное значение Zn. Если это значение больше 2, что рисуем точку с цветом равным номеру итерации на котором абсолютное значение превысило 2, иначе рисуем точку черного цвета. Все множество Мандельброта в полной красе у нас перед глазами.

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

Меняя функцию, условия выхода из цикла можно получать другие фракталы. Например, взяв вместо выражения С=a+bi выражение Z0=a+bi, а С присваивать произвольные значения мы получим множество Жюлиа , тоже красивый фрактал.

Для множества Мандельброта тоже проявляется самоподобие.

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

Типичный представитель данного класса фракталов «Плазма» .

Рис. Плазма

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

Системы итерируемых функций (IFS – Iterated Function Systems)

Эта группа фракталов получила широкое распространение благодаря работам Майкла Барнсли из технологического института штата Джорджия. Он пытался кодировать изображения с помощью фракталов. Запатентовав несколько идей по кодированию изображений с помощью фракталов, он основал фирму «Iterated Systems», которая через некоторое время выпустила первый продукт «Images Incorporated», в котором можно было изображения переводить из растровой формы во фрактальную FIF.

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

Если в L–systems (алгебраических фракталах) речь шла о замене прямой линии неким полигоном, то в IFS мы в ходе каждой итерации заменяем некий полигон (квадрат, треугольник, круг) на набор полигонов, каждый их которых подвергнут аффинным преобразованиям. При аффинных преобразованиях исходное изображение меняет масштаб, параллельно переносится вдоль каждой из осей и вращается на некоторый угол.

Фракталы и хаос

Понятие фрактал неразрывно связано с понятием хаос. Хаос – это отсутствие предсказуемости. Хаос возникает в динамических системах, когда для двух очень близких начальных значений система ведет себя совершенно по–разному. Пример хаотичной динамической системы – погода (метеорологи шутят: «Взмах крыла бабочки в Техасе приводит к урагану во Флориде»).

Хорошо проиллюстрировать хаотичное поведение можно с помощью так называемого logistic equation x=c*x(1–x). Пришло это выражение из биологии, т.к. это грубая модель популяции животных. Так вот при исследовании поведения этой функции выяснилась интересная ее особенность. Если с – фактор роста популяции находится в пределах от 1 до 3, то через некоторое количество итераций популяция стабилизируется.

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

При с=3.45 она раздваивается снова и у нас уже имеется четырехлетний цикл.

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

Почему фраталы так красивы?

Так сказочно, обворожительно, волнующе красивы. Математика вся пронизана красотой и гармонией, только эту красоту надо увидеть. Вот как пишет сам Мандельброт в своей книге "The Fractal Geometry of Nature"-"Почему геометрию часто называют холодной и сухой? Одна из причин лежит в ее неспособности описать форму облаков, гор или деревьев. Облака - это не сферы, горы - не углы, линия побережья - не окружность, кора не гладкая, а молния не прямая линия..."Фрактальная графика - это не просто множество самоповторяющихся изображений, это модель структуры и принципа любого сущего. Вся наша жизнь представлена фракталами. Взять, к примеру, ДНК, это всего лишь основа, одна итерация, а при повторении… появляется человек! И таких примеров много. Нельзя не отметить широкое применение фракталов в компьютерных играх, где рельефы местности зачастую являются фрактальными изображениями на основе трёхмерных моделей комплексных множеств и броуновского движения. Фрактальная графика необходима везде, и развитие "фрактальных технологий" - это одна из немаловажных задач на сегодняшний день. Фракталы вокруг нас повсюду, и в очертаниях гор, и в извилистой линии морского берега. Некоторые из фракталов непрерывно меняются, подобно движущимся облакам или мерцающему пламени, в то время как другие, подобно деревьям или нашим сосудистым системам, сохраняют структуру, приобретенную в процессе эволюции. Х.О.Пайген и П.Х Рихтер.

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


Понятие фрактал и фрактальная графика.

Геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта `The Fractal Geometry of Nature". В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему. Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные. Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале. Определение фрактала, данное Мандельбротом, звучит так: "Фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому"