Что такое фракталы

Что такое фракталы

Введение

Что, сообщите, привнес компьютер в нашу жизнь нового, неизвестного до него? Рискуя навлечь бешенство фанатиков бесчисленных вариантов применения компьютеров, заявляю: основное — он разрешил нам заметить фракталы. Это актуальное понятие взрывообразно шагает по планете, завораживая собственной таинственностью и красотой, проявляясь в самых неожиданных областях: метеорологии, философии, географии, биологии, механике а также истории.

В случае если мы зададим слово «фрактал» в любом поисковике, то придем к мысли, что Рунет создавался для фракталов.

Кто придумал фрактал?

Первые идеи фрактальной геометрии появились в девятнадцатом веке. Кантор посредством несложной рекурсивной (повторяющейся) процедуры перевоплотил линию в комплект несвязанных точек (так называемая Пыль Кантора). Он брал линию и удалял центральную треть и затем повторял то же самое с оставшимися отрезками.

Пеано нарисовал особенный вид линии (рисунок №1). Для ее рисования Пеано применял следующий метод.

На первом шаге он брал прямую линию и заменял ее на 9 отрезков долгой в 3 раза меньшей, чем долга исходной линии (Часть 1 и 2 рисунка 1). Потом он делал то же самое с каждым отрезком оказавшейся линии. И без того до бесконечности. Ее уникальность в том, что она заполняет всю плоскость. Доказано, что для каждой точки на плоскости возможно отыскать точку, принадлежащую линии Пеано. Кривая Пеано и пыль Кантора выходили за рамки простых геометрических объектов.

Они не имели четкой размерности. Пыль Кантора строилась помой-му на основании одномерной прямой, но складывалась из точек (размерность 0). А кривая Пеано строилась на основании одномерной линии, а в следствии получалась плоскость.Впредь до 20 века шло накопление информации о таких необычных объектах, без какой или попытки их систематизировать.

Так было, пока за них не взялся Бенуа Р. Мандельброт (Benoit Mandelbrot), математик из Исследовательского центра им. Томаса Уотстона при IBM — папа современной фрактальной геометрии, что и внес предложение термин фрактал для описания объектов, структура которых повторяется при переходе к все более небольшим масштабам. Трудясь в IBM математическим аналитиком, он изучал шумы в электронных схемах, каковые нереально было обрисовать посредством статистики.

Неспешно сопоставив факты, он пришел к открытию нового направления в математике — фрактальной геометрии.

Красота фракталов

Отчего же фракталы так прекрасны? Так сказочно, обворожительно, волнующе (какие конкретно еще имеется эпитеты?) прекрасны. Математика вся пронизана гармонией и красотой, лишь эту красоту нужно заметить. Вот как пишет сам Мандельброт в собственной книге The Fractal Geometry of Nature Из-за чего геометрию довольно часто именуют холодной и сухой?

Одна из обстоятельств лежит в ее неспособности обрисовать форму туч, гор либо деревьев. Облака — это не сферы, горы — не углы, линия побережья — не окружность, кора не ровная, а молния не прямая линия.

Определение фрактала

Сам Мандельброт вывел слово fractal от латинского слова fractus, что свидетельствует разбитый (поделенный на части). И одно из определений фрактала — это фигура , складывающаяся из частей и которая возможно разделена на части, любая из которых будет воображать уменьшенную копию целого (по крайней мере, примерно). Фрактал — это таковой объект, для которого не имеет значения, с каким усилением его разглядывать в увеличительное стекло, но при всех его повышениях структура остается одной и той же.

Громадные по масштабу структуры всецело повторяют структуры, меньшие по масштабу. Так, в одном из примеров Мандельброт предлагает разглядеть линию побережья с самолета, стоя на ногах и в увеличительное стекло. В любых ситуациях возьмём одинаковые узоры, но лишь меньшего масштаба.

Дабы представить себе фрактал понаглядней разглядим пример, приведенный в книге Б.Мандельброта The Fractal Geometry of Nature ставший хорошим — Какова протяженность берега Британии?. Ответ на данный вопрос не так несложен, как думается. Все зависит от длины инструмента, которым мы будем пользоваться.

Померив берег посредством километровой линейки мы возьмём какую-то длину. Но мы пропустим большое количество маленьких заливчиков и полуостровков, каковые по размеру значительно меньше отечественной линейки. Снизив размер линейки до, скажем, 1 метра — мы учтем эти подробности ландшафта, и, соответственно протяженность берега увеличиться.

Отправимся дальше и измерим длину берега посредством миллиметровой линейки, мы тут учтем подробности, каковые больше миллиметра, протяженность будет еще больше. В итоге ответ на таковой, казалось бы, несложный вопрос может поставить в тупик кого угодно — протяженность берега Британии нескончаема.

Типы фракталов

Фракталы делятся на группы. Самые многочисленные группы это:

  • геометрические фракталы
  • алгебраические фракталы
  • совокупности итерируемых функций
  • стохастические фракталы

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

Как раз с них и начиналась история фракталов. Данный тип фракталов получается методом несложных геометрических построений. В большинстве случаев при построении этих фракталов поступают так: берется затравка — теорема — комплект отрезков, на основании которых будет строиться фрактал. Потом к данной затравке используют комплект правил, что преобразует ее в какую-либо фигуру .

Потом к каждой части данной фигуры используют снова тот же комплект правил. С каждым шагом фигура будет становиться все сложнее и сложнее, и в случае если мы совершим (по крайней мере, в уме) нескончаемое количество преобразований — возьмём геометрический фрактал.

Рассмотренная выше кривая Пеано есть геометрическим фракталом. Хорошие примеры геометрических фракталов — Снежинка Коха, Лист, Треугольник Серпинского).

Снежинка Коха

Из этих геометрических фракталов весьма увлекательным и достаточно известным есть первый — снежинка Коха. Строится она на базе равностороннего треугольника. Любая линия которого ___ заменяется на 4 линии любая долгой в 1/3 исходной _/\_.

Так, с каждой итерацией долга кривой возрастает на треть. И в случае если мы сделаем нескончаемое число итераций — возьмём фрактал — снежинку Коха нескончаемой долги. Получается, что отечественная нескончаемая кривая покрывает ограниченную площадь.

Попытайтесь сделать то же самое фигурами и методами из евклидовой геометрии. Для построения геометрических фракталов хорошо подходят так именуемые L-Systems. Сущность этих совокупностей пребывает в том, что имеется определенных комплект знаков совокупности, любой из которых обозначает набор правил и определённое действие преобразования знаков.

Треугольник Серпинского

Второе свойство фракталов — самоподобие. Заберём, к примеру, треугольник Серпинского. Для его построения из центра треугольника в мыслях вырежем кусок треугольной формы, что собственными вершинами будет упираться в середины сторон исходного треугольника. Повторим эту же процедуру для трех появившихся треугольников (за исключением центрального) и без того до бесконечности.

В случае если мы сейчас заберём любой из появившихся треугольников и увеличим его — возьмём правильную копию целого. В этом случае мы имеем дело с полным самоподобием.

Драконова ломаная

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

Наряду с этим каждый первый угол выясняется вывернутым наружу, а каждый второй — вовнутрь. Не обращая внимания на внешнюю простоту, построение драконовой ломаной — увлекательная алгоритмическая задачка, ответ которой может "настойчиво попросить" от вас определенных мыслительных упрочнений. Попытайтесь научить ваш компьютер строить драконовы ломаные n — того порядка (конечно, в разумных пределах значений n).

Это умственное упражнение будет содействовать оттачиванию вашего программирования и боевого искусства алгоритмизации. На рисунке проиллюстрирован метод построения драконовой ломаной и изображен в полной мере взрослый дракон 10-го порядка.

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

Вторая многочисленная несколько фракталов — алгебраические. Собственный наименование они взяли за то, что их строят, на базе алгебраических формул время от времени очень несложных. Способов получения алгебраических фракталов пара.

Один из способов представляет собой многократный (итерационный) расчет функции Zn+1=f(Zn), где Z — комплексное число, а f некая функция. Расчет данной функции длится до исполнения определенного условия. И в то время, когда это условие

выполнится — на экран выводится точка. Наряду с этим значения функции для различных точек комплексной плоскости может иметь различное поведение:

С течением времени пытается к бесконечности.

Пытается к 0

Принимает пара фиксированных значений и не выходит за их пределы.

Поведение хаотично, без каких или тенденций.

Дабы проиллюстрировать алгебраические фракталы обратимся к классике — множеству Мандельброта.

Для его построения нам нужны комплексные числа. Комплексное число — это число, складывающееся из двух частей — настоящей и мнимой, и обозначается оно a+bi. Настоящая часть a это простое число в отечественном представлении, а вот мнимая часть bi увлекательнее. i — именуют мнимой единицей. Из-за чего мнимой?

А вследствие того что в случае если мы возведем i в квадрат, то возьмём -1.

Комплексные числа возможно складывать, вычитать, умножать, дробить, возводить в степень и извлекать корень, запрещено лишь их сравнивать. Комплексное число возможно изобразить как точку на плоскости, у которой координата Х это настоящая часть a, а Y это коэффициент при мнимой части b.

На рисунке, изображающем множество Мандельброта я забрал маленькой участок и повысил его до размеров всего экрана (как в микроскоп). Что же мы видим? Проявление самоподобности.

Не правильной самоподобности, но близкой и с ней мы будем сталкиваться неизменно, увеличивая части отечественного фрактала больше и больше. До каких же пор мы можем увеличивать отечественное множество? Так вот в случае если мы увеличим его до предела вычислительной мощности компьютеров, то покроем площадь равную площади нашей системы впредь до Сатурна.

Стохастические фракталы

Обычный представитель данного класса фракталов Плазма.

Для ее построения заберём прямоугольник и для каждого его угла определим цвет. Потом находим центральную точку прямоугольника и раскрашиваем ее в цвет равный среднему арифметическому цветов по углам прямоугольника плюс некое случайное число. Чем больше случайное число — тем более рваным будет рисунок.

В случае если мы сейчас скажем, что цвет точки это высота над уровнем моря — возьмём вместо плазмы — горный массив. Именно на этом принципе моделируются горы в большинстве программ. Посредством метода, похожего на плазму строится карта высот, к ней используются разные фильтры, накладываем текстуру и пожалуйста фотореалистичные горы готовы.

Программирование фракталов

Псевдокод, обрисовывающий неспециализированный принцип фрактала Ясно, что это описание рекурсивного процесса. Разглядим первый пример создания семь дней. Псевдокод выглядит так

Так будет смотреться код на VB

При исполнении каждой рекурсии появляется четыре новых угла. Любой из них образовывает одну четвертую от прошлого. Итог представлен на рисунке

L-совокупности

Любителям фракталов и математических картин известны фантастические изображения растений, полученные посредством программ. Это так именуемые L-совокупности. В базе их построения лежат два принципа.

Первый – это так называемая «черепашья графика» (оператор draw) патриарха GWBASIC и его детей Turbo Basic и QBasic, в то время, когда перемещение рисуется пошагово в приращениях довольно текущей точки. Или моделируется данное поведение, задавая перемещение в приращениях координат. Второй принцип – изюминка способа: каждое единичное перемещение заменяется на целый рисунок.

К примеру, нарисуем вилку-рогатульку. На следующем шаге работы программы любая из трех палочек вилки заменяется такой-же вилкой, превращая вилку в ветку с сучками, по окончании следующего шага возьмём лохматый куст, позже пушистое дерево, прекрасное, фрактальное. Меняя вид начальной картины возможно приобретать самые различные изображения от зонтиков укропа до колючего перекати-поле либо пучка водорослей.

Сущность L-кодирования сводится к следующему. Представим себе некое виртуальное программируемое устройство, складывающееся из пера, управляющего им механизма и листа бумаги. Управляющий пером механизм способен выполнять пара команд. В частности: он может опустить перо на бумагу и вычертить прямой отрезок заданной длины в направлении текущей ориентации пера (команда F).

Он может поменять ориентацию пера по отношению к текущей на какой-то заданный относительный угол по часовой либо против часовой стрелки (команды + и -). Он может кроме этого запоминать (заносить в стек) собственный текущее состояние (команда [) и вспоминать (извлекать из стека) ранее запомненное состояние (команда ]). Под состоянием в этом случае понимается тройка чисел (x, y, a), где x и y — это координаты пера и а — это угол, определяющий направление ориентации пера.

Так, задав некое начальное направление а0, выяснив относительный угол поворота в 900 и задав длину отрезка, при помощи последовательности команд F+F+ F+F мы можем нарисовать квадрат. Выяснив относительный угол поворота в 600, при помощи последовательности команд F++F++F возможно нарисовать равносторонний треугольник.

Предположим кроме этого, что в программы для отечественного виртуального устройства, не считая пяти перечисленных команд, возможно включать каждые другие знаки, каковые управляющий механизм не составит большого труда игнорировать. Другими словами в случае если мы введем программу F+BF+CCF+CF, то устройство все равно нарисует квадрат.

Сейчас в мыслях оснастим отечественное устройство приставкой, которая перед тем, как передать введенную программу на управляющий механизм, может заданное число раз просматривать ее, и при каждом очередном просмотре заменять каждые знаки последовательности по предварительно указанным правилам. Исходную программную последовательность знаков сейчас будем именовать теоремой. К примеру, введем теорему FB+, и определим правило B F+FB.

Зададим кроме этого количество просмотров, равное, к примеру, двум. Тогда на входе механизма по окончании обработки введенной теоремы приставкой возьмём последовательность FF+FF+FB+. Вот, фактически, и все.

При помощи обрисованного несложного виртуального устройства возможно строить множество самых разнообразных фрактальных форм — от классических математических фракталов, таких, как, к примеру, снежинка Коха либо кривая Гильберта, до структур, сильно напоминающих растительную либо подводную судьбу. Имеете возможность взглянуть на исходный код программы. растолковывающий вышесказанное

На рисунке приведено пара примеров фрактальных структур, выстроенных при помощи данной программы

Разглядим, как кодируются L-совокупности в общепринятых обозначениях.

Перемещение вперед обозначается буквой F (Forward – вперед), поворот по часовой стрелке обозначим «+», а против – «-», причем само значение поворота задается в программе и неизменно для всех перемещений. Буквой В (Back– назад) обозначается возврат без прорисовки, нам это не понадобится.

Для нас ответственнее механизм возврата. Точка, в которую нужно возвращаться, обозначим «[», а место, откуда происходит возврат, обозначим «]». Тогда вилка будет иметь вид: F – перемещение вперед [ – запомнить позицию + – поворот вправо на 22.5 (к примеру) градусов F – перемещение вперед по окончании поворота ] – возврат в запомненную позицию [ – запомнить позицию — – поворот влево относительно направления в запомненной точке F – перемещение вперед по окончании поворота ] – возврат в запомненную позицию

Это перемещение возможно закодировать. Возможно и более сложное. Возможно закодировать и следующий ход – замену каждого прямого отрезка на такую же вилку. Два шага нарисуют три шага, три шага — четыре шага. Прорисовывать любой ход заменой текста программы достаточно утомительно, и мы вспоминаем о рекурсии.

Самое подходящее для нее место! Сделав нужные объявления переменных и передаче значений координат точек возврата, мы получаем, что любое дерево рисуется по заблаговременно заданной формуле одной маленькой процедуркой, которая сама себя и вызывает. Скачайте пример на Visual Basic.

Программа разрешит вам с восторгом (потому что порядок прорисовки фрактально-непредсказуем) отслеживать на экране рост дерева.

Запустив программу, вы увидете как она нарисует ветку, клонимую ветром. Меняя переменную Kmax возможно уменьшать либо увеличивать глубину рекурсии, либо, что также самое, «пушистость» ветки. А меняя закон перемещения возможно приобретать самые необычные и фантастические изображения.

Существуют и другие методы рисования фракталов

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

Кроме этого имеете возможность ознакомиться и с другими программами, рисующими фракталы

Источник: rusproject.narod.ru

Фракталы

Самые интересные результаты статей, подобранные именно по Вашим интересам:

  • Что будет если купить акции

    Недооцененные акции. Стоит ли брать? 26 Декабрь 2012 Недооцененные акции. Стоит ли брать? Если вы просматриваете данную статью, и наряду с этим являетесь…

  • Что такое электронные торги и как стать их участником?

    Содержание В прошлые времена разные аукционы, на которых выставлялись в качестве лотов полезные и редкие вещи, имели возможность проводиться лишь в…

  • Чем чистить печень после курса

    Как соскочить с «химии» и вернуть здоровье [ править ] Примечание специалиста: В соответствии с современным медицинским данным концепция очищения…

  • 83 Правила успеха от миллионеров

    83 правила успеха от миллионеров я обнаружила просторах интернета и с интересом ознакомилась. Так как и для вас не секрет, что мы перечитываем…

  • Что такое бинарные опционы отзывы

    Двоичные опционы отзывы. Торговля двоичными опционами уже достаточно прочно вошла в судьбу тех людей, каковые до определенного момента занимались…

  • Ценовые акции. когда и как их проводить.

    (акции со понижением цены на товар, рекламные акции в магазинах) Я руковожу отделом продаж в большой пивоваренной компании. Разработка, проведение и…