Смекни!
smekni.com

Ход работы программы заключение Список источников и литературы Введение (стр. 2 из 2)

Фракталы были описаны Мандельбротом в 1975 году в его книге «Les Objets Fractals: Forme, Hasard et Dimension» («Фрактальные объекты: форма, случайность и размерность»). В этой книге Мандельброт впервые использовал термин «фрактал» для обозначения математического феномена, демонстрирующего столь непредсказуемое и удивительное поведение. Эти феномены рождались при использовании рекурсивного алгоритма для получения какой-либо кривой или множества. Множество Мандельброта — один из таких феноменов, названный по имени своего исследователя.

2.3 Взаимодействие с множеством Жюлиа

Множество Мандельброта изначально было построено как каталог множеств Жулиа: каждой точке на комплексной плоскости соответствует своё множество Жюлиа. Точки, лежащие внутри множества Мандельброта, точно соответствуют связным множествам Жюлиа, а точки снаружи — несвязаным.

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

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

область множества Мандельброта около
напоминает центр множества Жюлиа с параметром
.

Глава 3.Описание программы

3.1 Операции над комплексными числами

Для написания программы использованы комплексные числа. Эти операции выполняются следующим образом:

Сложение(a + bi) + (c + di) = (a + c) + (b + d)i

Вычитание(a + bi) − (c + di) = (ac) + (bd)i

Умножение(a + bi)(c + di) = ac + bci + adi + bdi2 = (acbd) + (bc + ad)i Деление

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


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

Программа написана в программе Adobe Flash CS3. Состоит из двух Flash Action Script файлов.

В файле Complex создан класс Complex и пять функций для работы с комплексными числами:

1) Функция real возвращает в программу вещественную единицу комплексного числа;

2) Функция imag возвращает в программу мнимую единицу комплексного числа;

3) Функция add выполняет сложение комплексных чисел;

4) Функция mul выполняет умножение комплексных чисел;

5) Функция mod2 возводит комплексное число в квадрат;

Файл Test2 является исполняемым файлом. Включает в себя класс Test2 и 9 функций:

Основные функции:

1) Функция Test2;

2) Функция Mandelbrot, определяет принадлежность координаты к множеству Мандельброта и «число шагов» ( i ), за которое точка стала принадлежать множеству. В функцию передается значение координаты mx, my;

3) Функция onFrame к событию Event. Выполняет постепенное изображение множества Мандельброта на экране. В зависимости от высчитанных точек в функции Mandelbrot и цвета, определившегося функцией colour;

4) Функция colour определяет цвет пикселя на экране в зависимости от i, которое определяется в функции Mandelbrot;

Вспомогательные функции:

5) 5)Функция s2mX переводит экранные координаты X в математические координаты;

6) Функция s2mY переводит экранные координаты Y в математические

7) координаты;

Функции для увеличения выбранной области множества:

8) Функция mouseD при нажатой левой кнопке мыши рисует полупрозрачный прямоугольник, выделяя область множества. Левый верхний угол определяется местом нажатия левой кнопки мыши. Устанавливается обработчик MouseEvent.MOUSE_MOVE;

9) Функция mouseU снимает обработчик MouseEvent.MOUSE_MOVE и задает новую ширину и высоту области изображения;

10)Функция mouseM перерисовывает прямоугольник в зависимости от перемещения мыши. Правый угол определяется положением курсора.

11)Функция shiftPress передает в функции исходные параметры области;

3.3 Ход работы программы

При запуске программы срабатывает функция Mandelbrot, высчитывающая точки, принадлежащие множеству Мандельброта. В функции стоит счетчик i, который определяет за какое количество шагов точка стала принадлежать множеству. Функция onFrame постепенно показывает область множества: черным - точка не принадлежит множеству, цветным - принадлежит. Цвет точки определяется функцией colour, в которую передается счетчик i из функции Мандельброт. Чем больше значение счетчика, тем светлее цвет точки.

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

Заключение

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

Изначальный рисунок:

Рисунок, полученный с помощью увеличения:

Список используемой литературы:

1)Мандельброт Б. Фрактальная геометрия природы. — М.: «Институт компьютерных исследований», 2002. ;

2)Пайтген Х.-О., Рихтер П. Х. Красота фракталов. — М.: «Мир», 1993.;

3) Learning ActionScript 3.0 A beginner Guide, Adobe Developer Library;

4) Электронная энциклопедия Википедия. Фракталы. http://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B0%D0%BA%D1%82%D0%B0%D0%BB#.D0.90.D0.BD.D0.B0.D0.BB.D0.B8.D0.B7_.D1.80.D1.8B.D0.BD.D0.BA.D0.BE.D0.B2

5) Электронная энциклопедия ВикиЗнание. Эвентологические фракталы.

http://www.wikiznanie.ru/ru-wz/index.php/%D0%AD%D0%B2%D0%B5%D0%BD%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D1%80%D0%B0%D0%BA%D1%82%D0%B0%D0%BB%D1%8B


[1] http://www.wikiznanie.ru/ru-wz/index.php/%D0%AD%D0%B2%D0%B5%D0%BD%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%84%D1%80%D0%B0%D0%BA%D1%82%D0%B0%D0%BB%D1%8B

[2] http://ru.wikipedia.org/

[3] Пайтген Х.-О., Рихтер П. Х. Красота фракталов. — М.: «Мир», 1993.;

[4] Мандельброт Б. Фрактальная геометрия природы. — М.: «Институт компьютерных исследований», 2002.