Статья опубликована в рамках: LXVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 12 июля 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРОГРАММНОЕ ПОСТРОЕНИЕ ФРАКТАЛОВ
Нередко то, что мы наблюдаем в природе, интригует нас бесконечным повторением одного и того же узора, увеличенного или уменьшенного во сколько угодно раз. Например, у дерева есть ветви. На этих ветвях есть ветки поменьше и т.д. Теоретически, элемент «разветвление» повторяется бесконечно много раз, становясь все меньше и меньше. Так проявляется характерное для фракталов свойство самоподобия [2].
Множество Мандельброта
Множество Мандельброта — это множество таких точек c на комплексной плоскости, для которых рекуррентное соотношение:
z n + 1 = z n 2 + c {\displaystyle z_{n+1}={z_{n}}^{2}+c} при
z 0 = 0 {\displaystyle z_{0}=0} задаёт некоторую конечную последовательность. Другими словами, это множество таких c, для которых существует такое действительное R, что неравенство
выполняется при всех натуральных n. y n + 1 = 2 x n y n + q {\displaystyle y_{n+1}=2{x_{n}}{y_{n}}+q}
Рисунок 1. Множество Мандельброта
Треугольник Серпинского
Треугольник Серпинского — данный фрактал является одним из аналогов Канторова множества в пространстве размерностью 2, который был открыт в 1915 году Вацлавом Серпинским, варшавским математиком из Царства Польского, Российская Империя. Данный фрактал известен также под именем «салфетки» Серпинского [1].
Итеративный метод построения
Построение треугольника Серпинского начинается с построения равностороннего треугольника, затем середины его сторон T 0 {\displaystyle T_{0}} соединяются отрезками, получая новых треугольника. Из исходного треугольника вырезается внутренний серединный треугольник. Получается множествоT 1 {\displaystyle T_{1}} , состоящее из 3 оставшихся треугольников «первого ранга». Аналогичным образом поступаем также с остальными треугольниками данного ранга и в итоге получаем множествоT 2 {\displaystyle T_{2}} , состоящее из 9 равносторонних треугольников второго ранга. Продолжая этот процесс бесконечно, получим бесконечную последовательностьT 0 ⊃ T 1 ⊃ ⋯ ⊃ T n ⊃ … {\displaystyle T_{0}\supset T_{1}\supset \dots \supset T_{n}\supset \dots }, в которой треугольник Серпинского – это пересечение её членов.
Построение методом «Игры в Хаос»
1) Определяются координаты точек-аттракторов — вершин исходного треугольника T 0 {\displaystyle T_{0}} ;
2) Вероятностное пространство ( 0 ; 1 ) {\displaystyle (0;1)} (0; 1) разбивается на 3 равных части, соответствующих каждая своему аттрактору;
3) Задаётся некоторая начальная точка P 0 {\displaystyle P_{0}} , лежащая внутри треугольника T 0 {\displaystyle T_{0}} ;
4) Начало цикла построения точек, принадлежащих множеству треугольника Серпинского.
4.1 Генерируется случайное число n ∈ ( 0 ; 1 ) {\displaystyle n\in (0;1)} .
4.2 Вершина для которой выпало соответствующее ей число из данного вероятностного пространства становится активным аттрактором.
4.3 Строится точка P i {\displaystyle P_{i}} с новыми координатами:
x i = x i − 1 + x A 2 ; y i = y i − 1 + y A 2 {\displaystyle x_{i}={\frac {x_{i-1}+x_{A}}{2}};y_{i}={\frac {y_{i-1}+y_{A}}{2}}} и
где – координаты предыдущей точки
x i − 1 , y i − 1 {\displaystyle x_{i-1},y_{i-1}} точки P i − 1 {\displaystyle P_{i-1}} x A , y A {\displaystyle x_{A},y_{A}} — координаты активной точки-аттрактора.
5) Возврат к началу цикла
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
Программа выполнена на языке C# в среде MS Visual Studio 2017, с применением графического интерфейса Windows Forms. Интерфейс программы представляет собой форму (рис. 4), на которой расположены следующие элементы управления: элемент управления PictureBox для вывода изображений, элемент управления GroupBox, включающий в себя две радиокнопки для выбора нужного фрактала, двух NumericUpDown для указания количества выполняемых итераций для определения принадлежности точки множеству. Также присутствуют 4 вспомогательных элементов типа TrackBar указания цвета точек множества.
Для проверки результата работы программы был выбрана визуализация множества Мандельброта при 30 итерациях внутреннего цикла (рис. 6), а также треугольник Серпинского при 100000 итерациях (рис. 7).
Рисунок 2. Построение множества Мандельброта
Рисунок 3. Построение треугольника Серпинского
Список литературы:
- Глейк, Д. Хаос: Создание новой науки / Д. Глейк; пер. с анг. Михаила Нахмансона. – СПб.: Амфора, 2001. – 398 с. – (Эврика)
- Деменюк, С. Л. Просто фрактал / С. Л. Деменюк. – СПб.: Страта, 2014. – 180 с.
- Зы-Кун, П. Фрактал / П. Зы-Кун. – М.: Арт-менеджер, 2012. – 280 с. – (Более другое)
- Кроновер, Р. М. Фракталы и хаос в динамических системах. Основы теории / Р. М. Кроновер; пер. с анг. Теодора Кренкеля и А. Соловейчика. – М.: Техносфера, 2000. – 352 с.
- Пайтген, Х.-О. Красота фракталов. Образы комплексных динамических систем / Х.-О. Пайтген, П. Х. Рихтер; пер. с анг. Павла Малышева и Андрея Сивака. – М.: Мир, 1993. – 176 с.
- Шелухин, О. И. Самоподобие и фракталы. Телекоммуникационные приложения / О. И. Шелухин, А. В. Осин, С. М. Смольский; ред. О. И, Шелухин. – М.: Физматлит, 2008. – 368 с.
дипломов
Оставить комментарий