Мы живём в стремительно меняющемся мире. Совершаются открытия и в одной из самых "древних" наук - математике. Меня заинтересовали такие новые (по историческим меркам) объекты - фракталы. О фракталах написано множество научных монографий, статей в интернете. Изображения фракталов поражают своим разнообразием и удивительной красотой.
Теорию фрактальной геометрии разработал Бенуа́ Мандельбро́т — французский и американский математик.
На уроках математики в школе мы изучаем квадраты, треугольники, окружности и т. д. Однако в природе чаще всего объекты «неправильные» - шероховатые, зазубренные. По этому поводу Бенуа Мандельброт в своей книге «Фрактальная геометрия природы» [1] пишет:
«Почему геометрию часто называют «холодной» и «сухой»? Одна из причин заключается в её неприспособленности описать форму облака, горы, береговой линии или дерева. Облака – не сферы, горы – не конусы, береговые линии – не окружности, древесная кора не гладкая, а молния распространяется не по прямой. Природа обладает не просто большей сложностью, а сложностью совершенно иного уровня.»
С другой стороны, по мнению Альберта Эйнштейна, "природа – это сочетание самых простых математических идей".
Среди многочисленных алгоритмов построения фракталов меня заинтересовал способ, называемый «игра хаоса». В литературе [2] описано построения треугольника Серпинского на основе этого метода. Реализовать его вручную невозможно, не смотря на простоту применяемых формул. Большое количество расчётов и создание изображений стало возможным благодаря использованию программы Mathcad - доступного и удобного средства математических расчётов.
Далее стали возникать вопросы: можно ли получить другие фракталы с помощью «игры хаоса» и как влияет на результаты изменение параметров в применяемой формуле?
Основной гипотезой работы стало предположение о том, что алгоритм «игра хаоса», в основе которого лежит случайность, всегда приводит к появлению упорядоченных структур – закономерности.
Применение компьютерных программ, что само по себе актуально в наше время, открыло простор для собственных экспериментов и исследований, что и определило выбор данной темы. Знакомство с фракталами позволило взглянуть на сухие математические формулы с новой точки зрения.
Цель работы – создание фракталов на основе игры хаоса.
Задачи:
изучить понятие «фрактал»;
узнать методы построения фракталов;
научиться создавать фракталы с помощью программы Mathcad;
Провести ряд экспериментов по созданию фракталов на основе алгоритма «игра хаоса»
определить области применения фракталов с информатикой и математикой.
Развитие представления о фракталах
Фракталы известны уже более века, хорошо изучены и применяются в самых различных областях жизни. Обычно так называют геометрическую фигуру, которая является самоподобной, то есть при увеличении или уменьшении имеет одно и то же строение.
Это свойство проявляется у дерева, берега моря, облака, кровеносных сосудов. От ветки, как и от ствола дерева, отходят отростки поменьше, от них — еще меньшие, и т. д., то есть ветка подобна всему дереву.
Похожим образом устроена и кровеносная система: от артерий отходят артериолы, а от них — мельчайшие капилляры, по которым кислород поступает в органы и ткани. Если посмотреть на космические снимки морского побережья, то мы увидим заливы и полуострова. Взглянем на него же с высоты птичьего полета: нам будут видны бухты и мысы. Теперь представим себе, что мы стоим на пляже и смотрим себе под ноги: всегда найдутся камешки, которые дальше выдаются в воду, чем остальные. То есть береговая линия при увеличении масштаба остается похожей на саму себя. Это свойство объектов Бенуа Мандельброт назвал фрактальностью, а сами такие объекты — фракталами (от латинского fractus — изломанный). Самый распространённый способ построения фракталов использует это свойство: чтобы построить фрактал нужно несколько раз применить одно и то же действие - "сломать" определённым образом линию. Результат таких действий радует своей красотой, но предсказуем.
Меня же заинтересовал совсем иной подход к построению фракталов - так называемая игра хаоса. Это приём, благодаря которому фрактал возникает в результате случайного блуждания точек.
В 1982 году вышла книга Мандельброта «Фрактальная геометрия природы», в которой автор собрал и систематизировал практически всю имевшуюся на тот момент информацию о фракталах и в доступной форме изложил ее. Основной упор в своей книге Мандельброт сделал не на сложные математические формулы, а на геометрическую интуицию читателей.
Из рукотворных, математических кварталов наиболее известны кривая или снежинка Хельге фон Коха, треугольник или решето Серпинского, и другие, строящиеся с помощью повторения одного и того же действия. На следующих рисунках показано построение снежинки Коха и салфетки Серпинского.
Когда персональные компьютеры стали достаточно мощными то появилось даже целое направление в искусстве — фрактальная живопись, причем заниматься ею мог практически любой пользователь компьютера. Сейчас в интернете можно легко найти множество сайтов, посвященных этой теме. Результаты, которые можно получить с помощью фракталов, поражают воображение даже самых искушенных ценителей компьютерного искусства. Изображения, создаваемые с помощью программ-фракталогенераторов, порой содержат совершенно фантастические и необычные пейзажи, как на следующем рисунке
И наоборот, с помощью фрактальной графики можно с удивительной точностью изобразить то, что мы видим в окружающем нас мире. В природе фрактальными свойствами обладают многие объекты, например: кроны деревьев, цветная капуста, облака, кровеносная система человека и животных, кристаллы, снежинки.
Один из таких природных фракталов (капуста Романеску) изображен на рисунке
При создании реальных пейзажей в мультфильмах уже давно применяют фракталы.
Помимо фрактальной живописи фракталы используются в теории информации для сжатия графических данных. В радиоэлектронике в последнее десятилетие начали выпускать антенны, имеющие фрактальную форму. А экономисты используют фракталы для описания изменений курсов валют и ценных бумаг.
Исследования в области фракталов получили широкое применение в таком важном разделе медицины как кардиология.
Похоже, куда не кинешь взгляд, повсюду фракталы: облака и деревья, микро и макрокосмос, да и мы сами тоже - носители фракталов. Возможно, есть универсальный закон, объясняющий такое единство.
Построение фракталов на основе игры хаоса
Из статьи "Треугольник Серпинского" на сайте elementy.ru - Элементы большой науки - мы узнали, что треугольник Серпинского можно создать не только повторными удалениями треугольников из треугольников, как показано выше. Оказывается, треугольник Серпинского получается в результате случайного блуждания точки на плоскости. Этот способ называется «игрой Хаоса». Приводим здесь описание "игры", данное в указанной статье.
На плоскости зафиксирован правильный треугольник A1A2A3. Отмечают любую начальную точку B0. Затем случайным образом выбирают одну из трех вершин треугольника и отмечают точку B1 — середину отрезка с концами в этой вершине и в B0 (на рисунке справа случайно выбралась вершина A1).
То же самое повторяют с точкой B1, чтобы получить B2. Потом получают точки B3, B4, и т. д. Важно, чтобы точка «прыгала» случайным образом, то есть чтобы каждый раз вершина треугольника выбиралась случайно, независимо от того, что было выбрано в предыдущие шаги. Удивительно, что если отмечать точки из последовательности Bi, то вскоре начнет проступать треугольник Серпинского.
В статье также было сказано, что подобным образом можно получить и некоторые другие фракталы. Это и стало целью нашего исследования. Мы начали с построения треугольника Серпинского указанным в статье способом. Поскольку выполнить большое количество повторных построений вручную невозможно, мы использовали программу Mathcad. С этой программой мы были знакомы и ранее, использовали её как удобный калькулятор. Теперь пришлось изучить возможности создавать изображения. Это оказалось несложно. Обозначим координаты вершин треугольника А1(Х1, Y1), А2(Х2, Y2) А3(Х3, Y3). Строим систему координат и отмечаем в ней вершины треугольника А1А2А3.
Затем нам нужно, чтобы компьютер сам случайно выбрал произвольное положение точки В0. Для этого в Mathcad применяется функция rnd(x). Мы использовали rnd(10). Это означает, что координаты для точки В0 будут случайные в пределах от 0 до 10.
Для построения точки В1 нужно найти середину между точкой В0 и случайно выбранной вершиной треугольника А1А2А3.
Для этого нужно решить две проблемы:
1) как каждый раз случайным образом (беспорядочно, хаотически) выбирать вершину треугольника А1А2А3;
2) как вычислить координаты точки В1 - середины отрезка с вершинами В0 и случайной вершины треугольника А1А2А3.
Для решения первой проблемы представим себе, что мы бросаем игральный кубик, на гранях которого написаны числа 1, 1, 2, 2, 3, 3, а не 1, 2, 3, 4, 5, 6. Тогда кубик укажет нам нужную вершину треугольника А1А2А3. Такой кубик тоже можно создать в Mathcad с помощью функции rnd(3). Но тогда будут получаться не только числа 1, 2, 3, но и все дроби между этими числами. Чтобы числа получались целыми, возьмём целую часть от rnd(3). В Mathcad это функция floor(x). И ещё нужно добавить 1, так как просто целые части будут получаться 0, 1, 2, а не 1, 2, 3, как нам нужно. Так мы получим
kub1=floor(rnd(3)) - номер вершины треугольника А1А2А3 на первом шаге "игры хаоса";
kub2=floor(rnd(3)) - номер вершины треугольника А1А2А3 на втором шаге "игры хаоса";
kub3=floor(rnd(3)) - номер вершины треугольника А1А2А3 на третьем шаге "игры хаоса"
и так далее.
Так как "бросать кубик" нам нужно очень много раз, все бросания мы запишем одной формулой:
kubn=floor(rnd(3)), где n=1, 2, 3,.. N, N - количество точек, которые мы собираемся построить. В Mathcad это выглядит так:
Решаем вторую проблему - вычисление координат середины отрезка. Обозначим координаты интересующих нас точек, В0(х0, y0), В1(х1, y1). Формула для вычисления координат середины отрезка проста - это среднее арифметическое координат концов отрезка:
Так мы найдём координаты точки В1(х1, y1), затем аналогично - координаты В2(х2, y2).
Таким образом, вычисляя координаты очередной точки (с номером n), мы ищем середину между предыдущей точкой (с номером n-1) и той случайной вершиной треугольника А1А2А3, которую укажет наш "кубик". В Mathcad это выглядит так:
Ниже изображено, что получится, если построить 100, 500 и 2000 точек
Удивительно, что, несмотря на случайный выбор вершин треугольника, точки в результате располагаются в определенном порядке!
Дальше мы продолжили эксперименты, располагая начальные точки (те, которые будет "выбирать кубик") в вершинах других многоугольников - квадратов, шестиугольников, различных звёзд, но в расположении точек теперь не заметен был порядок.
Тогда у нас возникло предположение, что нужно каждую новую точку Вn располагать не посередине между предыдущей Вn-1 и одной из вершин многоугольника, а "сильнее" притягивать к вершине. Для этого потребовалось познакомиться с новой формулой - деление отрезка в данном отношении. Если, например, новая точка Вn должна оказаться в 2 раза ближе к вершине многоугольника, чем к предыдущей точке Вn-1, то её координаты будем вычислять по формуле:
Ниже изображено, что получилось, если применить эту формулу для квадрата с центральной точкой
Для шестиугольника с центральной точкой по той же формуле получилась очень красивая снежинка!
Затем у нас возникла идея создать пейзаж из фрактальных фигур.
Для этого потребовались продолжительные многочисленные эксперименты. Мы подбирали расположение начальных точек и "силу притяжения". Больше ничего в наших формулах менять не пришлось.
Так возникли горы.
Затем возникла идея изобразить фрактальную стаю птиц.
Следующий фрактал изображает дерево.
Затем мы всё это разместили на одном рисунке, убрали изображения начальных точек и с помощью средств Mathcad использовали разные цвета для разных объектов и подсветку области.
Создавать новые объекты, менять их было очень интересно и легко:
мы придумывали расположение новых начальных точек;
задавали их координаты (в Mathcad сразу видны результаты);
использовали один и тот же общий закон для построения следующих точек - универсальную формулу
,
число k мы подбирали экспериментально, чтобы рисунок отвечал нашему замыслу (понять эту формулу было непросто, но мы начинали с расчётов вручную, бросали на стол настоящий кубик и вскоре стало ясно, как компьютер производит вычисления по этой формуле);
оценивали на рисунке в Mathcad, что получилось, и повторяли этот процесс, пока не получали нужный результат.
Благодаря этой работе, мы освоили новые для нас возможности программы Mathcad, и это нам очень пригодится в дальнейших исследованиях.
Заключение
В результате работы сделан следующий вывод: случайность и закономерность могут быть удивительным образом связаны. Видимо, в основе этого наблюдения лежит единый довольно простой закон, способный объяснить многие природные явления: образование облаков, растений, живых организмов, космических тел.
В связи с этой универсальностью область применения фракталов по сути не ограничена: от забав до создания инженерных конструкций, новых медицинских технологий и прогнозирования экономических процессов и многого другого.
Познакомиться с фракталами легко, это может сделать любой школьник на уроках информатики и математики, значительно расширяя и дополняя школьную программу.
Но серьёзное изучение их свойств и способов построения относится к различным сложным наукам. И это делает их для нас ещё более интересными, побуждает двигаться вперёд, осваивать новые области знания.
В дальнейшем я продолжу изучение фракталов, в том числе в трёхмерном пространстве, освоив для этого новые компьютерные программы.
Список использованных источников
Мандельброт Б. Фрактальная геометрия природы. — М.: «Институт компьютерных исследований», 2002
elementy.ru сайт Элементы большой науки
Фильм. Фракталы. Чудеса природы.