Смекни!
smekni.com

Фракталы (стр. 3 из 4)


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

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

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

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

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

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


Zn+1=Zna+C, где Z и C - комплексные числа и а - положительное число.

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

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

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

Рисунок 16. Множество Мандельброта при а=3,5.

Множество Жюлиа.

Удивительно, но множества Жюлиа образуются по той же самой формуле, что и множество Мандельброта. Множество Жюлиа было изобретено французским математиком Гастоном Жюлиа, по имени которого и было названо множество. Первый вопрос, возникающий после визуального знакомства с множествами Мандельброта и Жюлиа это “если оба фрактала сгенерированы по одной формуле, почему они такие разные? ” Сначала посмотрите на картинки множества Жюлиа. Достаточно странно, но существуют разные типы множеств Жюлиа. При рисовании фрактала с использованием различных начальных точек (чтобы начать процесс итераций), генерируются различные изображения. Это применимо только ко множеству Жюлиа.

Хотя это нельзя увидеть на картинке, фрактал Мандельброта - это, на самом деле, множество фракталов Жюлиа, соединенных вместе. Каждая точка (или координата) множества Мандельброта соответствует фракталу Жюлиа. Множества Жюлиа можно сгенерировать используя эти точки в качестве начальных значений в уравнении Z=ZІ+C. Но это не значит, что если выбрать точку на фрактале Мандельброта и увеличить ее, можно получить фрактал Жюлиа. Эти две точки идентичны, но только в математическом смысле. Если взять эту точку и просчитать ее по данной формуле, можно получить фрактал Жюлиа, соответствующий определенной точке фрактала Мандельброта.

Рисунок 17. Множество Жюлиа.


Дерево Фейгенбаума.

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

f (x) = (1 - x) rx

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

Расширяя логистическое выражение, получаем:

f (x) = аx - ах2

Формула, использующаяся в программе LT Bifurcator для объяснения сущности фрактала Фейгенбаума - (1 + r) x - rx2 не сильно отличается от формулы, приведенной выше. В принципе, для изучения теории можно было использовать любую формулу, например самую простую из формул данного вида - xІ - r. Единственными различиями являются различия в координатах окон на картинке и несколько измененный внешний вид изображения.


Рисунок 18. Дерево Фейгенбаума.

2.6 Дерево Фейгенбаума и Множество Мандельброта

Если вы когда-либо видели формулу множетсва Мандельброта z=z2 + x, вы могли бы заметить схожесть между этой формулой и самой простой из формул для построения дерева Фейгенбаума x2 - r. И это действительно так. Сходство существует. Но фейгенбаумово дерево растет в другую сторону. Измените формулу Фейгенбаума на x2 + r и вы увидите сходство. Что касается множества Мандельброта, вам нужно смотреть вдоль горизонтальной оси, так как это единственная позиция в которой комплексная часть числа Мандельброта равна нулю. Вы увидите, что основное тело фигуры Мандельброта находится там, где функция в дереве Фейгенбаума принимает лишь одно значение. Когда происходит первое разделение линии (бифуркация) появляется новое тело на фигуре Мандельброта и т.д. Обратите также внимание на то, что когда в дереве открывается главное окно, на фигуре Мандельброта появляется дочернее тело.


Рисунок 19. Дерево Фейгенбаума и Множество Мандельброта.

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

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

Решение.

Решением данной задачи является программный продукт при помощи которого можно просмотреть по несколько образцов алгебраической и геометрической фрактальной графики. Программа должна иметь встроенное увеличение (многократное), пропорциональное истинному размеру изображения. Интерфейс необходим светлый, приятный, возможно в тонах WindowsXP. Нам, например, подойдёт использование градиентной заливки самой формы. Учитывая то, что человек не любит долгие ожидания программа не использует большой размер холста, однако и при данном размере удаётся рассмотреть все достоинства фрактальной графики. Программа использует стандартные возможности сохранения графического изображения в формате *. bmpи не может загружать в себя графические изображения этого формата, т.к эта программа не для просмотра, а для генерации изображений. В программе использованы небесные цвета, она имеет дружественный интерфейс и проста в обращении. Каждая кнопка, параметр и другие органы управления подписаны так, что в справке программа не нуждается, однако она всё же дополнена справкой во избежание конфликтов со стандартами. Возможностями программы доступны прорисовки двадцати одного алгебраического и трёх геометрических фракталов.

Структура.

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

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

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

Так же имеется окно справки.

Дальнейшая структура интерфейса будет описана в разделе "Руководство пользователя".

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

Рисунок 20. Схема работы программы.


Данной схемой (Рисунок 20) представлен внутренний принцип работы программы. Использование одной процедуры прорисовки значительно уменьшает код и объём компонентов интерфейса. Однако представление каждой формулы множества отдельной функцией значительно уменьшает время прорисовки.

Руководство пользователя.

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