Редакция NNN случайно наткнулась на весьма интересный материал, представленный в блоге пользователя xtsarx, посвященный элементам теории фракталов и ее практическому применению. Как известно, терия фракталов играет далеко не последнюю роль в физике и химии наносистем. Внеся свою лепту в этот добротный материал, изложенный на языке, доступном для широкого круга читателей и подкрепленный обильным количеством графического и даже видео материала, мы представляем его Вашему вниманию. Надеемся, что читателям NNN этот материал будет интересным.
Природа так загадочна, что чем больше изучаешь ее, тем больше вопросов появляется… Ночные молнии – синие «струи» ветвящихся разрядов, морозные узоры на окне, снежинки, горы, облака, кора дерева – все это выходит за рамки привычной евклидовой геометрии. Мы не можем описать камень или границы острова с помощью прямых, кружков и треугольников. И здесь нам приходят на помощь фракталы . Что же это за знакомые незнакомцы?
«Под микроскопом он открыл, что на блохе
Живет блоху кусающая блошка;
На блошке той блошинка-крошка,
В блошинку же вонзает зуб сердито
Блошиночка, и так ad infinitum». Д.Свифт.
Первые идеи фрактальной геометрии возникли в 19 веке. Кантор с помощью простой рекурсивной (повторяющейся) процедуры превратил линию в набор несвязанных точек (так называемая Пыль Кантора). Он брал линию и удалял центральную треть и после этого повторял то же самое с оставшимися отрезками.
Рис. 1. Кривая пеано 1,2–5 итерации.
Пеано нарисовал особый вид линии. Пеано поступил следущим образом : На первом шаге он брал прямую линию и заменял ее на 9 отрезков длинной в 3 раза меньшей, чем длинна исходной линии. Далее он делал то же самое с каждым отрезком получившейся линии. И так до бесконечности. Ее уникальность в том, что она заполняет всю плоскость. Доказано, что для каждой точки на плоскости можно найти точку, принадлежащую линии Пеано. Кривая Пеано и пыль Кантора выходили за рамки обычных геометрических объектов. Они не имели четкой размерности . Пыль Кантора строилась вроде бы на основании одномерной прямой, но состояла из точек (размерность 0). А кривая Пеано строилась на основании одномерной линии, а в результате получалась плоскость. Во многих других областях науки появлялись задачи, решение которых приводило к странным результатам, на подобие описанных выше (Броуновское движение, цены на акции). Каждый из нас может проделать эту процедуру…
Вплоть до 20 века шло накопление данных о таких странных объектах, без какой-либо попытки их систематизировать. Так было, пока за них не взялся Бенуа Мандельброт – отец современной фрактальной геометрии и слова фрактал .
Рис. 2. Бенуа Мандельброт.
Работая в IBM математическим аналитиком, он изучал шумы в электронных схемах, которые невозможно было описать с помощью статистики. Постепенно сопоставляя факты, он пришел к открытию нового направления в математике – фрактальной геометрии .
Термин «фрактал» Б.Мандельброт ввёл в 1975 г.. Согласно Мандельброту, фракталом (от лат. «fractus» – дробный, ломанный, разбитый) называется структура, состоящая из частей, подобных целому . Свойство самоподобия резко отличает фракталы от объектов классической геометрии. Термин самоподобие означает наличие тонкой, повторяющейся структуры, как на самых малых масштабах объекта, так и в макромаштабе .
Рис. 3. К определению понятия «фрактал».
Примерами самоподобия служат : кривые Коха, Леви, Минковского, треугольник Серпиньского, губка Менгера, дерево Пифагора и др.
С математической точки зрения, фрактал – это, прежде всего, множество с дробной (промежуточной, «не целой») размерностью . В то время как гладкая евклидова линия заполняет в точности одномерное пространство, фрактальная кривая выходит за пределы одномерного пространства, вторгается за границы в двумерное пространство.Таким образом, фрактальная размерность кривой Коха будет находиться между 1 и 2. Это, прежде всего, означает, что у фрактального объекта невозможно точно измерить его длину! Из этих геометрических фракталов очень интересным и довольно знаменитым является первый – снежинка Коха .
Рис. 4. К определению понятия «фрактал».
Строится она на основе равностороннего треугольника
. Каждая линия которого заменяется на 4 линии каждая длиной в 1/3 исходной. Таким образом, с каждой итерацией длинна кривой увеличивается на треть. И если мы сделаем бесконечное число итераций – получим фрактал – снежинку Коха бесконечной длины. Получается, что наша бесконечная кривая покрывает ограниченную площадь. Попробуйте сделать то же самое методами и фигурами из евклидовой геометрии.
Размерность снежинки Коха
(при увеличении снежинки в 3 раза ее длина возрастает в 4 раза) D=log(4)/log(3)=1.2619.
Фракталы находят все большее и большее применение в науке и технике. Основная причина этого заключается в том, что они описывают реальный мир иногда даже лучше, чем традиционная физика или математика. Можно до бесконечности приводить примеры фрактальных объектов в природе, – это и облака, и хлопья снега, и горы, и вспышка молнии, и наконец, цветная капуста. Фрактал как природный объект – это вечное непрерывное движение, новое становление и развитие.
Рис. 5. Фракталы в экономике.
Кроме того, фракталы находят применение в децентрализованных компьютерных сетях и «фрактальных антеннах» . Весьма интересны и перспективны для моделирования различных стохастических (не детерминированных) «случайных» процессов, так называемые «броуновские фракталы». В случае нанотехнологий фракталы тоже играют важную роль , поскольку из-за своей иерархической самоорганизации многие наносистемы обладают нецелочисленной размерностью , то есть являются по своей геометрической, физико-химической или функциональной природе фракталами. Например, ярким примером химических фрактальных систем являются молекулы «дендримеров» . Кроме того, принцип фрактальности (самоподобной, скейлинговой структуры) является отражением иерархичности строения системы и поэтому является более общим и универсальным, чем стандартные подходы к описанию строения и свойств наносистем.
Рис. 6. Молекулы «дендримеров».
Рис. 7. Графическая модель коммуникации в архитектурно-строительном процессе. Первый уровень взаимодействия с позиций микропроцессов.
Рис. 8. Графическая модель коммуникации в архитектурно-строительном процессе. Второй уровень взаимодействия с позиций макропроцессов (фрагмент модели).
Рис. 9. Графическая модель коммуникации в архитектурно-строительном процессе. Второй уровень взаимодействия с позиций макропроцессов (модель целиком)
Рис. 10. Плоскостное развитие графической модели. Первое гомеостатичное состояние.
Рис. 11.
Рис. 12.
Рис. 13.
Рис. 14.
Рис. 15.
Рис. 16.
Рис. 17.
Рис. 18.
Рис. 19.
Рис. 20.
Рис. 21.
Рис. 22.
Рис. 23.
Рис. 24.
Рис. 25.
Рис. 26.
Рис. 27.
Рис. 28.
Рис. 29.
Рис. 30.
Рис. 31.
Рис. 32.
Рис. 33.
Рис. 34.
Рис. 35.
Коррекция и правка выполнены Филипповым Ю.П.
Я обнаружил этот фрактал, когда разглядывал интерференцию волн на поверхности речки. Волна движется к берегу, отражается и накладывается сама на себя. Есть ли порядок в тех узорах, которые создаются волнами? Попробуем найти его. Рассмотрим не всю волну, а только вектор ее движения. «Берега» сделаем гладкими, для простоты эксперимента.
Эксперимент можно провести на обычном листке в клеточку из школьной тетради.
Или используя JavaScript реализацию алгоритма.
Возьмем прямоугольник со сторонами q и p. Отправим луч (вектор) из угла в угол. Луч двигается к одной из сторон прямоугольника, отражается и продолжает движение к следующей стороне. Это продолжается до тех пор, пока луч не попадет в один из оставшихся углов. Если размер стороны q и p - взаимно просты числа, то получается узор (как мы увидим позже - фрактал).
На картинке мы ясно видим, как работает этот алгоритм.

Gif-анимация:


Самое удивительное то, что с разными сторонами прямоугольника - получаем разные узоры.












Почему я называю эти узоры фракталами? Как известно, «фрактал» - это геометрическая фигура, обладающая свойствами самоподобия. Часть картинки повторяет всю картинку в целом. Если значительно увеличить размеры сторон Q и P - ясно, что эти узоры обладают свойствами самоподобия.
Попробуем увеличить. Увеличивать будем хитрым способом. Возьмем, например, узор 17x29. Следующие узоры будут: 29x(17+29=46), 46x(29+46=75)…
Одна сторона: F(n);
Вторая сторона: F(n+1)=F(n)+F(n-1);
17, 29, 46, 75, 121, 196, 317, 513, 830, 1343
Как числа Фибоначчи, только с другими первым и вторым членом последовательности: F(0)=17, F(1)=29.







Если большая сторона четная, получается такой узор:
Если меньшая сторона четная:

Если обе стороны нечетные - получаем симметрический узор:


В зависимости от того, как начинается луч:
или
Попробую объяснить, что происходит в этих прямоугольниках.
Отделим от прямоугольника квадрат, и посмотрим, что происходит на границе.

Луч выходит в той-же точке, откуда зашел.

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

Похоже на спираль Фибоначчи?

Из чисел Фибоначчи тоже можно получить фракталы.
В математике числами Фибоначчи (ряд Фибоначчи, последовательность Фибоначчи) называют числа:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597…
По определению, первые две цифры в последовательности Фибоначчи 0 и 1, а каждое последующее число равно сумме двух предыдущих.
F(n)=F(n-1)+F(n-2)
F(0)=0, F(1)=1
![]()
Поехали:
Как мы видим, чем ближе отношение сторон приближается к золотому сечению - тем больше детализация фрактала.

При этом фрактал повторяет часть фрактала, увеличенного на .
Вместо чисел Фибоначчи можно использовать иррациональные размеры сторон:

Получим тот-же фрактал.
Те-же фракталы можно получить и в квадрате, если пускать луч под другим углом:

Что можно сказать в заключении?
Хаос - это тоже порядок. Со своими закономерностями. Порядок этот не изученный, но вполне поддающийся изучению. А все стремление науки - обнаружить эти закономерности. И в конечном итоге соединить детали головоломки, чтобы увидеть общую картину.
Давайте посмотрим на поверхность речки. Если бросить в нее камень - пойдут волны. Круги, вполне поддающиеся изучению. Скорость, период, длину волны - все это можно подсчитать. Но до тех пор, пока волна не дойдет до берега, не отразиться и не начнет накладываться на саму себя. Получим хаос (интерференцию), который уже трудно поддается изучению.
Что если двигаться от обратного? Упростить поведение волны на столько, на сколько это возможно. Упростить, найти закономерность и после этого попробовать описать уже полную картину происходящего.
Что можно упростить? Очевидно, что сделать отражающую поверхность прямой, без изгибов. Далее, вместо самой волны, использовать только вектор движения волны. В принципе, этого достаточно, чтобы построить простой алгоритм и смоделировать процесс на компьютере. И даже вполне достаточно, чтобы сделать «модель» поведения волны на обычном листке в клеточку.
Что имеем в результате? В результате видим, что в волновых процессах (та-же рябь на поверхности речки) имеем не хаос, а наложение фракталов (самоподобных структур) друг на друга.
Рассмотрим другой вид волн. Как известно, электромагнитная волна состоит из трех векторов - волновой вектор и вектора напряженности электрического и магнитного поля. Как видим, если «словить» такую волну в замкнутой области – там, где пересекаются эти вектора, получаем вполне четкие замкнутые структуры. Быть может, элементарные частицы – это такие-же фракталы?

Все фрактальчики в прямоугольниках от 1 до 80 (6723х6723 px):
Замкнутые области во фракталах (6723х6723 px):

Просто красивый фрактал (4078x2518 px):
Для чтобы представить все многообразие фракталов удобно прибегнуть к их общепринятой классификации .
Фракталы этого класса самые наглядные. В двухмерном случае их получают с помощью некоторой ломаной (или поверхности в трехмерном случае), называемой генератором . За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор, в соответствующем масштабе. В результате бесконечного повторения этой процедуры, получается геометрический фрактал.
Рис 1. Построение триадной кривой Кох.
Рассмотрим один из таких фрактальных объектов - триадную кривую Кох . Построение кривой начинается с отрезка единичной длины (рис.1) - это 0-е поколение кривой Кох. Далее каждое звено (в нулевом поколении один отрезок) заменяется на образующий элемент , обозначенный на рис.1 через n=1 . В результате такой замены получается следующее поколение кривой Кох. В 1-ом поколении - это кривая из четырех прямолинейных звеньев, каждое длиной по 1/3 . Для получения 3-го поколения проделываются те же действия - каждое звено заменяется на уменьшенный образующий элемент. Итак, для получения каждого последующего поколения, все звенья предыдущего поколения необходимо заменить уменьшенным образующим элементом. Кривая n -го поколения при любом конечном n называется предфракталом . На рис.1 представлены пять поколений кривой. При n стремящемся к бесконечности кривая Кох становится фрактальным обьектом .

Рис 2. Построение "дракона" Хартера-Хейтуэя.
Для получения другого фрактального объекта нужно изменить правила построения. Пусть образующим элементом будут два равных отрезка, соединенных под прямым углом. В нулевом поколении заменим единичный отрезок на этот образующий элемент так, чтобы угол был сверху. Можно сказать, что при такой замене происходит смещение середины звена. При построении следующих поколений выполняется правило: самое первое слева звено заменяется на образующий элемент так, чтобы середина звена смещалась влево от направления движения, а при замене следующих звеньев, направления смещения середин отрезков должны чередоваться. На рис.2 представлены несколько первых поколений и 11-е поколение кривой, построенной по вышеописанному принципу. Предельная фрактальная кривая (при n стремящемся к бесконечности) называется драконом Хартера-Хейтуэя .
В машинной графике использование геометрических фракталов необходимо при получении изображений деревьев, кустов, береговой линии. Двухмерные геометрические фракталы используются для создания объемных текстур (рисунка на поверхности обьекта) .
Это самая крупная группа фракталов. Получают их с помощью нелинейных процессов в n -мерных пространствах. Наиболее изучены двухмерные процессы. Интерпретируя нелинейный итерационный процесс, как дискретную динамическую систему, можно пользоватся терминологией теории этих систем: фазовый портрет , установившийся процесс , аттрактор и т.д.
Известно, что нелинейные динамические системы обладают несолькими устойчивыми состояниями. То состояние, в котором оказалась динамическая система после некоторого числа итераций, зависит от ее начального состояния. Поэтому каждое устойчивое состояние (или как говорят - аттрактор) обладает некоторой областью начальных состояний, из которых система обязательно попадет в рассматриваемые конечные состояния. Таким образом фазовое пространство системы разбивается на области притяжения аттракторов. Если фазовым является двухмерное пространство, то окрашивая области притяжения различными цветами, можно получить цветовой фазовый портрет этой системы (итерационного процесса). Меняя алгоритм выбора цвета, можно получить сложные фрактальные картины с причудливыми многоцветными узорами. Неожиданностью для математиков стала возможность с помощью примитивных алгоритмов порождать очень сложные нетривиальные структуры.

Рис 3. Множество Мандельброта.
В качестве примера рассмотрим множество Мандельброта (см. pис.3 и рис.4). Алгоритм его построения достаточно прост и основан на простом итеративном выражении:
Z = Z [i] * Z [i] + C ,
где Z i и C - комплексные переменные. Итерации выполняются для каждой стартовой точки C прямоугольной или квадратной области - подмножестве комплексной плоскости. Итерационный процесс продолжается до тех пор, пока Z [i] не выйдет за пределы окружности радиуса 2, центр которой лежит в точке (0,0), (это означает, что аттрактор динамической системы находится в бесконечности), или после достаточно большого числа итераций (например 200-500) Z [i] сойдется к какой-нибудь точке окружности. В зависимости от количества итераций, в течении которых Z [i] оставалась внутри окружности, можно установить цвет точки C (если Z [i] остается внутри окружности в течение достаточно большого количества итераций, итерационный процесс прекращается и эта точка растра окрашивается в черный цвет).

Рис 4. Участок границы множества Мандельброта,
увеличенный в 200 pаз.
Вышеописанный алгоритм дает приближение к так называемому множеству Мандельброта. Множеству Мандельброта принадлежат точки, которые в течение бесконечного числа итераций не уходят в бесконечность (точки имеющие черный цвет). Точки принадлежащие границе множества (именно там возникает сложные структуры) уходят в бесконечность за конечное число итераций, а точки лежащие за пределами множества, уходят в бесконечность через несколько итераций (белый фон).
Еще одним известным классом фракталов являются стохастические фракталы, которые получаются в том случае, если в итерационном процессе случайным образом менять какие-либо его параметры. При этом получаются объекты очень похожие на природные - несимметричные деревья, изрезанные береговые линии и т.д. Двумерные стохастические фракталы используются при моделировании рельефа местности и поверхности моря .
Существуют и другие классификации фракталов, например деление фракталов на детерминированные (алгебраические и геометрические) и недетерминированные (стохастические).
Реферативное изложение теоретических вопросов данной темы
Введение
Понятие фрактала.
Классификация фракталов. Виды фракталов.
Фракталы известны уже почти век, хорошо изучены и имеют многочисленные приложения в жизни. В основе этого явления лежит очень простая идея: бесконечное по красоте и разнообразию множество фигур можно получить из относительно простых конструкций при помощи всего двух операций - копирования и масштабирования.
У этого понятия нет строгого определения. Поэтому слово «фрактал» не является математическим термином. Обычно так называют геометрическую фигуру, которая удовлетворяет одному или нескольким из следующих свойств:
На рубеже XIX и XX веков изучение фракталов носило скорее эпизодический, нежели систематический характер, потому что раньше математики в основном изучали «хорошие» объекты, которые поддавались исследованию при помощи общих методов и теорий. В 1872 году немецкий математик Карл Вейерштрасс построил пример непрерывной функции, которая нигде не дифференцируема. Однако его построение было целиком абстрактно и трудно для восприятия. Поэтому в 1904 году швед Хельге фон Кох придумал непрерывную кривую, которая нигде не имеет касательной, причем ее довольно просто нарисовать. Оказалось, что она обладает свойствами фрактала. Один из вариантов этой кривой носит название «снежинка Коха».
Идеи само подобия фигур подхватил француз Поль Пьер Леви, будущий наставник Бенуа Мандельброта. В 1938 году вышла его статья «Плоские и пространственные кривые и поверхности, состоящие из частей, подобных целому», в которой описан еще один фрактал - С-кривая Леви. Все эти вышеперечисленные фракталы можно условно отнести к одному классу конструктивных (геометрических) фракталов.
Другой класс - динамические (алгебраические) фракталы, к которым относится и множество Мандельброта. Первые исследования в этом направлении относятся к началу XX века и связаны с именами французских математиков Гастона Жюлиа и Пьера Фату. В 1918 году вышел почти двухсот страничный труд Жюлиа, посвященный итерациям комплексных рациональных функций, в котором описаны множества Жюлиа - целое семейство фракталов, близко связанных с множеством Мандельброта. Этот труд был удостоен приза Французской академии, однако в нем не содержалось ни одной иллюстрации, так что оценить красоту открытых объектов было невозможно. Несмотря на то что это работа прославила Жюлиа среди математиков того времени, о ней довольно быстро забыли.
Вновь внимание к работам Жюлиа и Фату обратилось лишь полвека спустя, с появлением компьютеров: именно они сделали видимыми богатство и красоту мира фракталов. Ведь Фату никогда не мог посмотреть на изображения, которые мы сейчас знаем, как изображения множества Мандельброта, потому что необходимое количество вычислений невозможно провести вручную. Первым, кто использовал для этого компьютер был Бенуа Мандельброт.
В 1982 году вышла книга Мандельброта «Фрактальная геометрия природы», в которой автор собрал и систематизировал практически всю имевшуюся на тот момент информацию о фракталах и в легкой и доступной манере изложил ее. Основной упор в своем изложении Мандельброт сделал не на тяжеловесные формулы и математические конструкции, а на геометрическую интуицию читателей. Благодаря иллюстрациям, полученным при помощи компьютера, и историческим байкам, которыми автор умело, разбавил научную составляющую монографии, книга стала бестселлером, а фракталы стали известны широкой публике. Их успех среди не математиков во многом обусловлен тем, что с помощью весьма простых конструкций и формул, которые способен понять и старшеклассник, получаются удивительные по сложности и красоте изображения. Когда персональные компьютеры стали достаточно мощными то появилось даже целое направление в искусстве - фрактальная живопись, причем заниматься ею мог практически любой владелец компьютера. Сейчас в интернете можно легко найти множество сайтов, посвященных этой теме.
В центре фрактальной фигуры находится её простейший элемент - равносторонний треугольник, который получил название «фрактальный». Затем, на среднем отрезке сторон строятся равносторонние треугольники со стороной, равной (1/3a) от стороны исходного фрактального треугольника. В свою очередь, на средних отрезках сторон полученных треугольников, являющихся объектами-наследниками первого поколения, выстраиваются треугольники-наследники второго поколения со стороной (1/9а) от стороны исходного треугольника.
Таким образом, мелкие элементы фрактального объекта повторяют свойства всего объекта. Полученный объект носит название «фрактальной фигуры». Процесс наследования можно продолжать до бесконечности. Таким образом, можно описать и такой графический элемент, как прямую.
Изменяя и комбинируя окраску фрактальных фигур можно моделировать образы живой и неживой природы (например, ветви дерева или снежинки), а также, составлять из полученных фигур «фрактальную композицию». Фрактальная графика, также как векторная и трёхмерная, является вычисляемой. Её главное отличие в том, что изображение строится по уравнению или системе уравнений. Поэтому в памяти компьютера для выполнения всех вычислений, ничего кроме формулы хранить не требуется.
Только изменив коэффициенты уравнения, можно получить совершенно другое изображение. Эта идея нашла использование в компьютерной графике благодаря компактности математического аппарата, необходимого для ее реализации. Так, с помощью нескольких математических коэффициентов можно задать линии и поверхности очень сложной формы.
Итак, базовым понятием для фрактальной компьютерной графики являются «Фрактальный треугольник». Затем идет «Фрактальная фигура», «Фрактальный объект»; «Фрактальная прямая»; «Фрактальная композиция»; «Объект-родитель» и «Объект наследник». Следует обратить Ваше внимание на то, что фрактальная компьютерная графика, как вид компьютерной графики двадцать первого века получила широкое распространение не так давно.
Для того чтобы представить все многообразие фракталов удобно прибегнуть к их общепринятой классификации. Итак, существуют:
Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта `The Fractal Geometry of Nature". В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф). Но только в наше время удалось объединить их работы в единую систему.
Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные.
Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале. Определение фрактала, данное Мандельбротом, звучит так: "Фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому".
Существует большое число математических объектов называемых фракталами (треугольник Серпинского, снежинка Коха, кривая Пеано, множество Мандельброта и лоренцевы аттракторы). Фракталы с большой точностью описывают многие физические явления и образования реального мира: горы, облака, турбулентные (вихревые) течения, корни, ветви и листья деревьев, кровеносные сосуды, что далеко не соответствует простым геометрическим фигурам. Впервые о фрактальной природе нашего мира заговорил Бенуа Мандельброт в своей основополагающей работе "Фрактальная геометрия природы" .
Термин фрактал введен Бенуа Мандельбротом в 1977 году в его фундаментальной работе "Фракталы, Форма, Хаос и Размерность" . Согласно Мандельброту, слово фрактал происходит от латинских слов fractus - дробный и frangere - ломать, что отражает суть фрактала, как "изломанного", нерегулярного множества.
Для того, чтобы представить все многообразие фракталов удобно прибегнуть к их общепринятой классификации. Существует три класса фракталов.
Фракталы этого класса самые наглядные. В двухмерном случае их получают с помощью ломаной (или поверхности в трехмерном случае), называемой генератором. За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор в соответствующем масштабе. В результате бесконечного повторения этой процедуры получается геометрический фрактал.
Рассмотрим на примере один из таких фрактальных объектов - триадную кривую Коха.
Построение триадной кривой Коха.
Возьмем прямолинейный отрезок длины 1. Назовем его затравкой . Разобьем затравку на три равные части длиной в 1/3, отбросим среднюю часть и заменим ее ломаной из двух звеньев длиной 1/3.
Мы получим ломаную, состоящую из 4 звеньев с общей длиной 4/3 , - так называем первое поколение .
Для того чтобы перейти к следующему поколению кривой Коха, надо у каждого звена отбросить и заменить среднюю часть. Соответственно длина второго поколения будет 16/9, третьего - 64/27. если продолжить этот процесс до бесконечности, то в результате получится триадная кривая Коха.
Рассмотрим теперь св-ва триадной кривой Коха и выясним, почему же фракталы называли «монстрами».
Во-первых, эта кривая не имеет длины - как мы убедились, с числом поколений ее длина стремится к бесконечности.
Во-вторых, к этой кривой невозможно построить касательную - каждая ее точка является точкой перегиба, в которой производная не существует, - эта кривая не гладкая.
Длина и гладкость - фундаментальные св-ва кривых, которые изучаются как евклидовой геометрией, так и геометрией Лобачевского, Римана. К триадной кривой Коха традиционные методы геометрического анализа оказались неприменимы, поэтому кривая Коха оказалась чудовищем - «монстром» среди гладких обитателей традиционных геометрий.
Построение "дракона" Хартера-Хейтуэя.

Для получения другого фрактального объекта нужно изменить правила построения. Пусть образующим элементом будут два равных отрезка, соединенных под прямым углом. В нулевом поколении заменим единичный отрезок на этот образующий элемент так, чтобы угол был сверху. Можно сказать, что при такой замене происходит смещение середины звена. При построении следующих поколений выполняется правило: самое первое слева звено заменяется на образующий элемент так, чтобы середина звена смещалась влево от направления движения, а при замене следующих звеньев, направления смещения середин отрезков должны чередоваться. На рисунке представлены несколько первых поколений и 11-е поколение кривой, построенной по вышеописанному принципу. Кривая, при n стремящемуся к бесконечности, называется драконом Хартера-Хейтуэя.
В машинной графике использование геометрических фракталов необходимо при получении изображений деревьев, кустов. Двухмерные геометрические фракталы используются для создания объемных текстур (рисунка на поверхности объекта).
Это самая крупная группа фракталов. Получают их с помощью нелинейных процессов в n-мерных пространствах. Наиболее изучены двухмерные процессы. Интерпретируя нелинейный итерационный процесс, как дискретную динамическую систему, можно пользоваться терминологией теории этих систем: фазовый портрет, установившийся процесс, аттрактор и т.д.
Известно, что нелинейные динамические системы обладают несколькими устойчивыми состояниями. То состояние, в котором оказалась динамическая система после некоторого числа итераций, зависит от ее начального состояния. Поэтому каждое устойчивое состояние (или как говорят - аттрактор) обладает некоторой областью начальных состояний, из которых система обязательно попадет в рассматриваемые конечные состояния. Таким образом фазовое пространство системы разбивается на области притяжения аттракторов. Если фазовым является двухмерное пространство, то окрашивая области притяжения различными цветами, можно получить цветовой фазовый портрет этой системы (итерационного процесса). Меняя алгоритм выбора цвета, можно получить сложные фрактальные картины с причудливыми многоцветными узорами. Неожиданностью для математиков стала возможность с помощью примитивных алгоритмов порождать очень сложные нетривиальные структуры.
Множество Мандельброта.

В качестве примера рассмотрим множество Мандельброта. Алгоритм его построения достаточно прост и основан на простом итеративном выражении: Z = Z[i] * Z[i] + C , где Zi и C - комплексные переменные. Итерации выполняются для каждой стартовой точки с прямоугольной или квадратной области - подмножестве комплексной плоскости. Итерационный процесс продолжается до тех пор, пока Z[i] не выйдет за пределы окружности радиуса 2, центр которой лежит в точке (0,0), (это означает, что аттрактор динамической системы находится в бесконечности), или после достаточно большого числа итераций (например 200-500) Z[i] сойдется к какой-нибудь точке окружности. В зависимости от количества итераций, в течении которых Z[i] оставалась внутри окружности, можно установить цвет точки C (если Z[i] остается внутри окружности в течение достаточно большого количества итераций, итерационный процесс прекращается и эта точка растра окрашивается в черный цвет).
Еще одним известным классом фракталов являются стохастические фракталы, которые получаются в том случае, если в итерационном процессе хаотически менять какие-либо его параметры. При этом получаются объекты очень похожие на природные - несимметричные деревья, изрезанные береговые линии и т.д. Двумерные стохастические фракталы используются при моделировании рельефа местности и поверхности моря.
Существуют и другие классификации фракталов, например деление фракталов на детерминированные (алгебраические и геометрические) и недетерминированные (стохастические).
О применении фракталов
Прежде всего, фракталы - область удивительного математического искусства, когда с помощью простейших формул и алгоритмов получаются картины необычайной красоты и сложности! В контурах построенных изображений нередко угадываются листья, деревья и цветы.
Одни из наиболее мощных приложений фракталов лежат в компьютерной графике. Во-первых, это фрактальное сжатие изображений, и во-вторых построение ландшафтов, деревьев, растений и генерирование фрактальных текстур. Современная физика и механика только-только начинают изучать поведение фрактальных объектов. И, конечно же, фракталы применяются непосредственно в самой математике.
Достоинства алгоритмов фрактального сжатия изображений - очень маленький размер упакованного файла и малое время восстановления картинки. Фрактально упакованные картинки можно масштабировать без появления пикселизации. Но процесс сжатия занимает продолжительное время и иногда длится часами. Алгоритм фрактальной упаковки с потерей качества позволяет задать степень сжатия, аналогично формату jpeg. В основе алгоритма лежит поиск больших кусков изображения подобных некоторым маленьким кусочкам. И в выходной файл записывается только какой кусочек какому подобен. При сжатии обычно используют квадратную сетку (кусочки - квадраты), что приводит к небольшой угловатости при восстановлении картинки, шестиугольная сетка лишена такого недостатка.
Компанией Iterated разработан новый формат изображений "Sting", сочетающий в себе фрактальное и «волновое» (такое как в формате jpeg) сжатие без потерь. Новый формат позволяет создавать изображения с возможностью последующего высококачественного масштабирования, причем объем графических файлов составляет 15-20% от объема несжатых изображений.
Склонность фракталов походить на горы, цветы и деревья эксплуатируется некоторыми графическими редакторами, например фрактальные облака из 3D studio MAX, фрактальные горы в World Builder. Фрактальные деревья, горы и целые пейзажи задаются простыми формулами, легко программируются и не распадаются на отдельные треугольники и кубики при приближении.
Нельзя обойти стороной и применения фракталов в самой математике. В теории множеств множество Кантора доказывает существование совершенных нигде не плотных множеств, в теории меры самоаффинная функция "Канторова лестница" является хорошим примером функции распределения сингулярной меры.
В механике и физике фракталы используются благодаря уникальному свойству повторять очертания многих объектов природы. Фракталы позволяют приближать деревья, горные поверхности и трещины с более высокой точностью, чем приближения наборами отрезков или многоугольников (при том же объеме хранимых данных). Фрактальные модели, как и природные объекты, обладают "шероховатостью", и свойство это сохраняется при сколь угодно большом увеличении модели. Наличие на фракталах равномерной меры, позволяет применять интегрирование, теорию потенциала, использовать их вместо стандартных объектов в уже исследованных уравнениях.
При фрактальном подходе хаос перестает быть синимом беспорядка и обретает тонкую структуру. Фрактальная наука еще очень молода, и ей предстоит большое будущее. Красота фракталов далеко не исчерпана и еще подарит нам немало шедевров - тех, которые услаждают глаз, и тех, которые доставляют истинное наслаждение разуму.

Глядя на эту картинку, нетрудно понять, как можно построить самоподобный фрактал (в данном случае пирамиду Серпинского). Нужно взять обычную пирамиду (тетраэдр), затем вырезать ее середину (октаэдр), в результате чего у нас получается четыре маленьких пирамидки. С каждой из них мы проделываем ту же самую операцию и т.д. Это несколько наивное, но наглядное объяснение.
Рассмотрим суть метода более строго. Пусть имеется некоторая IFS-система, т.е. система сжимающих отображений S ={S 1 ,...,S m } S i:R n ->R n (например, для нашей пирамидки отображения имеют вид S i (x)=1/2*x+o i , где o i - вершины тетраэдра, i=1,..,4). Затем выбираем некоторое компактное множество A 1 в R n (в нашем случае выбираем тетраэдр). И определяем по индукции последовательность множеств A k:A k+1 =S 1 (A k) U...U S m (A k). Известно, что множества A k с ростом k, всё лучше приближают искомый аттрактор системы S .
Заметим, что каждая из этих итераций является аттрактором рекуррентной системы итерированных функций (английский термин Digraph IFS , RIFS и также Graph-directed IFS ) и поэтому их легко построить с помощью нашей программы.
Это наиболее лёгкий для реализации на компьютере метод. Для простоты рассмотрим случай плоского самоаффинного множества. Итак, пусть {S
} - некоторая система аффинных сжатий. Отображения S
представимые в виде: S
Фиксированная матрица размера 2x2 и o
Двумерный вектор столбец.
Примечание. Если коэффициенты сжатия отображений S i разные, то фрактал будет заполняться точками неравномерно. В случае, если отображения S i являются подобиями, этого можно избежать небольшим усложнением алгоритма. Для этого на 3-ем шаге алгоритма число j от 1 до m надо выбирать с вероятностями p 1 =r 1 s ,..,p m =r m s , где r i обозначают коэффициенты сжатия отображений S i , а число s (называемое размерностью подобия) находится из уравнения r 1 s +...+r m s =1. Решение этого уравнения можно найти, например, методом Ньютона.
Фрактал происходит от латинского прилагательного "fractus", и в переводе означает состоящий из фрагментов, а соответствующий латинский глагол "frangere" означает разбивать, то есть создавать неправильные фрагменты. Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х прочно вошли в обиход математиков и программистов. Термин был предложен Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта «The Fractal Geometry of Nature» - «Фрактальная геометрия природы». В его работах использованы научные результаты других ученых, работавших в период 1875-1925 годов в той же области (Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф).
Коррективы
Позволю себе внести некоторые коррективы в алгоритмы предложенные в книге Х.-О. Пайтгена и П.Х.Рихтера "Красота фракталов" М. 1993 сугубо для искоренения опечаток иоблегчения понимания процессов поскольку после их изучения многое осталось для меня загадкой. К сожалению эти "понятные" и "простые" алгоритмы ведут качующий образ жизни.
В основе построения фракталов лежит некая нелинейная функция комплексного процесса с обратной связью z=> z 2 +c поскольку z и с -комплексные числа, то z=x+iy, c=p+iq необходимо разложить его на х и у чтобы перейти в более реальную для простого человека плоскость:
x(k+1)=x(k) 2 -y(k) 2 + p,
y(k+1)=2*x(k)*y(k) + q.
Плоскость, состоящая из всех пар (x,y), может рассматриваться, как при фиксированных значениях р и q , так и при динамических. В первом случае перебирая по закону все точки (х,у) плоскости и окрашивая их в зависимости от количества повторений функции необходимых для выхода из итерационного процесса или не окрашивая (черный цвет) при привышении допустимого максимума повторений мы получим отображение множества Жюлиа. Если, напротив, определить начальнуюя пару значений (x,y) и проследить ее колористическую судьбу при динамически изменяющихся значениях параметров p и q, то получаим изображения, называемые множествами Мандельброта.
К вопросу об алгоритмах раскраски фракталов.
Обычно тело множества представляют в виде черного поля, хотя очевидно, что черный цвет может быть заменен на любой другой, но это тоже мало интересный результат. Получить изображение множества раскрашенного во все цвета - задача которая не может решаться при помощи циклических операций т.к. количество итерации формирующих тело множества равно максимально возможному и всегда одно и тоже. Раскрасить множество в разные цвета возможно применив в качестве номера цвета результат проверки условия выхода из цикла (z_magnitude) или подобный ему, но с другими математическими действиями.
Применение "фрактального микроскопа"
для демонстрации пограничных явлений.
Аттракторы - центры ведущие борьбу за доминирование на плоскости. Между аттракторами возникает граница представляющая витееватый узор. Увеличивая масштаб рассмотрения в пределах границ множества можно получать нетривиальные узоры отражаюшие состояние детерминированного хаоса - обычного явления в мире природы.
Исследуемые географами объекты образуют систему с весьма сложно организованными границами, в связи с чем их проведение становится не простой практической задачей. Природные комплексы имеют ядра типичности выступающие в качестве аттракторов теряющих силу влияния на территорию по мере ее удаления.
Используя фрактальный микроскоп для множеств Мандельброта и Жюлиа можно сформировать представление о пограничных процессах и явлениях, одинаково сложных не зависимо от масштаба рассмотрения и таким образом подготовить восприятие специалиста к встрече с динамичным и на первый взгляд хаотичным в пространстве и времени природным объектом, к пониманию фрактальной геометрии природы. Многоцветие красок и фрактальная музыка определенно оставят глубокий след в сознании учащихся.
Фракталам посвящены тысячи публикаций и огромные ресурсы интернет, однако для многих специалистов далеких от информатики данный термин представляется абсолютно новым. Фракталы, как объекты представляющие интерес для специалистов различных отраслей знания, должны получить надлежащее место в курсе информатики.
| РЕШЕТКА СЕРПИНСКОГО |
![]() Это один из фракталов, с которыми экспериментировал Мандельброт, когда разрабатывал концепции фрактальных размерностей и итераций. Треугольники, сформированные соединением средних точек большего треугольника вырезаны из главного треугольника, образовывая треугольник, с большим количеством дырочек. В этом случае инициатор - большой треугольник а шаблон - операция вырезания треугольников, подобных большему. Так же можно получить и трехмерную версию треугольника, используя обыкновенный тетраэдр и вырезая маленькие тетраэдры. Размерность такого фрактала ln3/ln2 = 1.584962501. Чтобы получить ковер Серпинского , возьмем квадрат, разделим его на девять квадратов, а средний вырежем. То же сделаем и с остальными, меньшими квадратами. В конце концов образуется плоская фрактальная сетка, не имеющая площади, но с бесконечными связями. В своей пространственной форме, губка Серпинского преобразуется в систему сквозных форм, в которой каждый сквозной элемент постоянно заменяется себе подобным. Эта структура очень похожа на разрез костной ткани. Когда-нибудь такие повторяющиеся структуры станут элементом строительных конструкций. Их статика и динамика, считает Мандельброт, заслуживает пристального изучения. |
| КРИВАЯ КОХА |
![]() Кривая Коха один из самых типичных детерминированных фракталов. Она была изобретена в девятнадцатом веке немецким математиком по имени Хельге фон Кох, который, изучая работы Георга Контора и Карла Вейерштрассе, натолкнулся на описания некоторых странных кривых с необычным поведением. Инициатор - прямая линия. Генератор - равносторонний треугольник, стороны которого равны трети длины большего отрезка. Эти треугольники добавляются к середине каждого сегмента снова и снова. В своем исследовании, Мандельброт много экспериментировал с кривыми Коха, и получил фигуры такие как Острова Коха, Кресты Коха, Снежинки Коха и даже трехмерные представления кривой Коха, используя тетраэдр и прибавляя меньшие по размерам тетраэдры к каждой его грани. Кривая Коха имеет размерность ln4/ln3 = 1.261859507. |
| ФРАКТАЛ МАНДЕЛЬБРОТА |
![]() Это НЕ множество Мандельброта, которое можно достаточно часто видеть. Множество Мандельброта основано на нелинейных уравнениях и является комплексным фракталом. Это тоже вариант кривой Коха несмотря на то, что этот объект не похож на нее. Инициатор и генератор так же отличны от использованных для создания фракталов, основанных на принципе кривой Коха, но идея остается той же. Вместо того, чтобы присоединять равносторонние треугольники к отрезку кривой, квадраты присоединяются к квадрату. Благодаря тому, что этот фрактал занимает точно половину отведенного пространства при каждой итерации, он имеет простую фрактальную размерность 3/2 = 1.5. |
| ПЯТИУГОЛЬНИК ДАРЕРА |
|
Фрактал выглядит как связка пятиугольников, сжатых вместе. Фактически он образован при использовании пятиугольника в качестве инициатора и равнобедренных треугольников, отношение большей стороны к меньшей в которых в точности равно так называемой золотой пропорции (1.618033989 или 1/(2cos72)) в качестве генератора. Эти треугольники вырезаются из середины каждого пятиугольника, в результате чего получается фигура, похожая на 5 маленьких пятиугольников, приклеенных к одному большому. Вариант этого фрактала можно получить при использовании в качестве инициатора шестиугольника. Этот фрактал называется Звезда Давида и он довольно похож на шестиугольную версию Снежинки Коха. Фрактальная размерность пятиугольника Дарера ln6/ln(1+g), где g - отношение длины большей стороны треугольника к длине меньшей. В данном случае, g - это Золотая Пропорция, так что фрактальная размерность приблизительно равна 1.86171596. Фрактальное измерение Звезды Давида ln6/ln3 или 1.630929754. |
Фактически, если вы увеличите маленькую область любого сложного фрактала а затем проделаете то же самое с маленькой областью этой области, то эти два увеличения будут значительно отличаться друг от друга. Два изображения будут очень похожи в деталях, но они не будут полностью идентичными.
Рис 1. Приближение множества Мандельброта
Сравните, например приведенные здесь картинки множества Мандельброта, одна из которых получена при увеличении некоторой области другой. Как видно, они абсолютно не являются идентичными, хотя на обоих мы видим черный круг, от которого в разные стороны идут пылающие щупальца. Эти элементы повторяются бесконечно долго во множестве Мандельброта в уменьшающейся пропорции.
Детерминистские фракталы являются линейными, тогда как сложные фракталы таковыми не являются. Будучи нелинейными, эти фракталы генерируются тем, что Мандельброт назвал нелинейными алгебраическими уравнениями. Хороший пример - это процесс Zn+1=ZnІ + C, что является уравнением, используемым для построения множества Мандельброта и Жулии второй степени. Решение этих математических уравнений вовлекает комплексные и мнимые числа. Когда уравнение интерпретируется графически на комплексной плоскости, результатом оказывается странная фигура, в которой прямые линии переходят в кривые, появляются хотя и не без деформаций, эффекты самоподобия на различных масштабных уровнях. При этом вся картина в целом является непредсказуемой и очень хаотичной.
Как можно увидеть, смотря на картинки, сложные фракталы действительно очень сложны и их невозможно создать без помощи компьютера. Для получения красочных результатов этот компьютер должен обладать мощным математическим сопроцессором и монитором с высоким разрешением. В отличии от детерминистских фракталов, сложные фракталы не вычисляются за 5-10 итераций. Практически каждая точка на экране компьютера как отдельный фрактал. Во время математической обработки, каждая точка рассматривается как отдельный рисунок. Каждой точке соответствует определенное значение. Уравнение встраивается, применительно к каждой точке и производится, к примеру 1000 итераций. Для получения сравнительно неискаженного изображения за приемлемый для домашних компьютеров промежуток времени, для одной точки возможно проводить 250 итерации.
Большинство фракталов, которые мы видим сегодня, красиво раскрашены. Возможно фрактальные изображения получили такое большое эстетическое значение именно благодаря своим цветовым схемам. После того, как уравнение посчитано, компьютер анализирует результаты. Если результаты остаются стабильными, или колеблются вокруг определенного значения, точка обычно принимает черный цвет. Если значение на том или ином шаге стремится к бесконечности, точку закрашивают в другой цвет, может быть в синий или красный. Во время этого процесса, компьютер назначает цвета для всех скоростей движения.
Обычно, быстро движущиеся точки закрашивают в красный цвет, тогда как более медленные в желтый и так далее. Темные точки, вероятно, самые стабильные.
Сложные фракталы отличаются от детерминистских в том смысле, что они бесконечно сложные, но, при этом, могут быть сгенерированы очень простой формулой. Детерминистским фракталам не нужны формулы или уравнения. Просто возьмите чертежную бумагу и вы можете построить решето Серпинского до 3 или 4 итерации без каких-либо затруднений. Попробуйте сделать это с множеством Жулиа! Легче пойти мерить длину береговой линии Англии!
Рис 2. Множество Мандельброта
Множества Мандельброта и Жулиа, вероятно, два наиболее распространенных среди сложных фракталов. Их можно найти во многих научных журналах, обложках книг, открытках, и в компьютерных хранителях экрана. Множество Мандельброта, которое было построено Бенуа Мандельбротом, наверное первая ассоциация, возникающая у людей, когда они слышат слово фрактал. Этот фрактал, напоминающий чесальную машину с прикрепленными к ней пылающими древовидными и круглыми областями, генерируется простой формулой Zn+1=Zna+C, где Z и C - комплексные числа и а - положительное число.
Множество Мандельброта, которое чаще всего можно увидеть - это множество Мандельброта 2й степени, то есть а=2. Тот факт, что множество Мандельброта не только Zn+1=ZnІ+C, а фрактал, показатель в формуле которого может быть любым положительным числом ввел в заблуждение многих. На этой странице вы видите пример множества Мандельброта для различных значений показателя а. 
Рис 3. Появление пузырьков при a=3.5
Также популярен процесс Z=Z*tg(Z+C). Благодаря включению функции тангенса, получается множество Мандельброта, окруженное областью, напоминающей яблоко. При использовании функции косинуса, получаются эффекты воздушных пузырьков. Короче говоря, существует бесконечное количество способов настройки множества Мандельброта для получения различных красивых картинок.
Удивительно, но множества Жулиа образуются по той же самой формуле, что и множество Мандельброта. Множество Жулиа было изобретено французским математиком Гастоном Жулиа, по имени которого и было названо множество. Первый вопрос, возникающий после визуального знакомства с множествами Мандельброта и Жулиа это "если оба фрактала сгенерированы по одной формуле, почему они такие разные?" Сначала посмотрите на картинки множества Жулиа. Достаточно странно, но существуют разные типы множеств Жулиа. При рисовании фрактала с использованием различных начальных точек (чтобы начать процесс итераций), генерируются различные изображения. Это применимо только ко множеству Жулиа. 
Рис 4. Множество Жулиа
Хотя это нельзя увидеть на картинке, фрактал Мандельброта - это, на самом деле, множество фракталов Жулиа, соединенных вместе. Каждая точка (или координата) множества Мандельброта соответствует фракталу Жулиа. Множества Жулиа можно сгенерировать используя эти точки в качестве начальных значений в уравнении Z=ZІ+C. Но это не значит, что если выбрать точку на фрактале Мандельброта и увеличить ее, можно получить фрактал Жулиа. Эти две точки идентичны, но только в математическом смысле. Если взять эту точку и просчитать ее по данной формуле, можно получить фрактал Жулиа, соответствующий определенной точке фрактала Мандельброта.