АЛГОРИТМЫ ПОСТРОЕНИЯ ФРАКТАЛЬНЫХ КРИВЫХ ВВЕДЕНИЕ. Термин фрактал стал в последнее время чрезвычайно популярен. Понятия фрактал и фрактальная геометрия, появившиеся в конце 70-х, с середины 80-х годов прочно вошли в обиход математиков и программистов. Считается что, фрактальная геометрия весьма сложная область математики, некоторые её вопросы и сегодня находятся "на переднем крае математических исследований". Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. В машинной графике использование геометрических фракталов необходимо при получении изображений деревьев, кустов, береговой линии. Фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Двухмерные геометрические фракталы используются для создания объемных текстур (рисунка на поверхности обьекта). Фактически найден способ легкого представления сложных объектов, образы которых весьма похожи на природные[6]. Впервые о фрактальных границах нематематики заговорили после попытки измерить протяжённость береговой линии Британии путём уменьшения длины масштабного отрезка. При этом длина выросла по сравнению с определённой ранее[2]. Кристаллы льда в морозных узорах на окнах и очертания гор также самоподобные объекты. Исследования подобных объектов начались ещё в прошлом веке, но совершенствование аппаратных средств машинной графики в решающей степени повлияли на развитие фрактальной геометрии и теории хаоса. Цель работы: - изучить понятие и алгоритмы построения фрактальных кривых. - пpиобpести пpактические навыки построения простых фрактальных кривых в среде программирования LogoWriter. - pасшиpить пpедставление об алгоритмах построения более сложных фрактальных объектов. Данная работа предполагает выполнение следующих задач: - построение простых фрактальных кривых в среде LogoWriter. - разработка алгоритмов собственных фрактальных кривых. Для выполнения работы использовались периодические издания: журналы "Информатика и образование" и "Наука и жизнь"; газета "Информатика", материалы из сети "Интернет". Слово фрактал образовано от латинского fractus и в переводе означает состоящий из фрагментов. Оно было предложено Бенуа Мандельбротом в 1975 году для обозначения нерегулярных, но самоподобных структур, которыми он занимался. По мнению Бенуа Мандельброта: "Ни одно определение фрактала не представляется удовлетворительным, ибо всегда находятся объекты, которые по-видимому имеют фрактальную природу, но не одно из них не удовлетворяют данному определению. Понятие фрактала в чём-то схоже с понятием вируса. И в том и другом случае не существует строгого определения понятия, но есть некоторое характерное свойство: в компьютерных вирусах таким свойством является самовоспроизведение, а для фракталов самоподобие"[1]. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале. Классификация фракталов. 1. Геометрические фракталы. Фракталы этого класса самые наглядные. В двухмерном случае их получают с помощью некоторой ломаной (или поверхности в трехмерном случае), называемой генератором. За один шаг алгоритма каждый из отрезков, составляющих ломаную, заменяется на ломаную-генератор, в соответствующем масштабе. В результате бесконечного повторения этой процедуры, получается геометрический фрактал. Рассмотрим один из таких фрактальных объектов - кривую дракона. Назовём горизонтальный отрезок кривой дракона нулевого порядка. Разделим отрезок пополам и построим на нем прямой угол, как показано на рис. 2а. Получим кривую дракона первого порядка. На сторонах прямого угла снова построим прямые углы (рис. 2б). При этом вершина первого угла всегда находится справа, если смотреть из точки A (начала кривой) вдоль первого отрезка кривой, а направления, в которых строятся вершины остальных углов, чередуются. На рис. 2в и 2г показаны кривые дракона третьего и четвертого порядков соответственно[6]. Предельная фрактальная кривая называется драконом Хартера-Хейтуэя (рис.3). Скруглив прямые углы у кривой можно получить сглаженную кривую дракона (рис.4). Способ построения подсказывает, что она не имеет самопересечений. Кривая дракона - один из популярнейших объектов, который встречается практически во всех курсах фрактальной геометрии. Известные математики Гильберт и Серпинский построили примеры всюду плотных кривых (приложение 1). При неограниченном возрастании n они стремятся к некоторой предельной кривой, которая является всюду плотной в заданном квадрате[3]. 2. Алгебраические фракталы. Это самая крупная группа фракталов. Получают их с помощью нелинейных процессов в n-мерных пространствах. Наиболее изучены двухмерные процессы. Множество Мандельброта - один из самых известных фрактальных объектов - впервые было построено Бенуа Мандельбротом в 1980 г. Множество Мандельброта описывается функцией комплексного переменного. Для построения множества используют компьютерный эксперимент. 3. Стохастические фракталы. Еще одним известным классом фракталов являются стохастические фракталы, которые получаются в том случае, если в итерационном процессе случайным образом менять какие-либо его параметры. При этом получаются объекты очень похожие на природные - несимметричные деревья, изрезанные береговые линии и т.д. Двумерные стохастические фракталы используются при моделировании рельефа местности и поверхности моря. Теперь рассмотрим Алгоритмы построения фрактальных кривых на Лого. Автором одного из самых изящных способов построения фрактальных кривых является биолог Аристид Линдермауэр. Именно он предложил простой и изящный способ построения фрактальных объектов, напоминающих природные. Данный способ получил в честь его создателя название L-системы, которую также называют черепашьей, с помощью которых можно строить изображения, удивительно напоминающие объекты, созданные природой,- деревья, кусты, травинки (приложение 2). Такие фигуры можно получить с использованием рекурсии. Рекурсия - один из способов организации многократных повторений путём обращения процедуры к самой себе. Конструкции, которые можно назвать рекурсивными, встречаются даже в сказках и детских стишках - вспомните о попе и его собаке. Процедура "дерево" описывает построение дерева, на конце каждой ветви его вырастают две новые, половинной длины. Все эти разнообразные деревья обладают общим свойством - самоподобием. Каждая часть дерева, каждая ветвь устроена так же, как дерево в целом. Самоподобные кривые Коха и Мандельброта. Один из примеров самоподобных кривых - снежинка Коха (рис. 10). Начнём с равностороннего треугольника, дальнейшее усложнение кривой показано на рисунке. Ещё одну снежинку придумал Бенуа Мандельброт (снежинка Мандельброта), первым разработавший понятие фрактала (рис.12). Здесь начало - квадрат, затем каждый отрезок последовательно заменяется восемью (рис. 11). Другие фрактальные кривые. Используя алгоритмы построения снежинок Коха и Мандельброта по аналогии можно получить новые фрактальные кривые (рис. 14). Эти кривые были получены по следующему алгоритму. Кривая 1-го порядка: отрезок делится на 5 равных отрезков. Кривая 2-го порядка: на каждом отрезке "вырастает" новый пятиугольник. Кривая 4-го порядка уже начинает повторять саму себя (рис. 14). Используя эту кривую можно получить красивую пятиугольную звезду (рис. 15). Программа рисования пятиконечной звезды составлена по аналогии с процедурой для снежинки Коха. ЗАКЛЮЧЕНИЕ. Зачатки фрактальных идей мы находим во всех известных нам культурах, например, в средневековых мавританских орнаментах. Также фракталами являются африканские причёски: косичка образуется с помощью масштабирования шаблона (приложение 3). Узоры, которыми украшали свои платья русские девушки при Иване Грозном похожи на фракталы, так как форма их самоподобна. Фрактальная графика - это необыкновенно красиво (приложение 4-6). Фракталы воочию продемонстрировали нам основной тезис восточной философии: хаос не беспорядок, а структура, охватывающая весь мир. Человеческое общество также подчиняется единым законам на всех уровнях: как в семье, так и в государстве и во всём мире. В царстве фракталов человек заметил бы, что когда он растёт, окружающий его мир ведёт себя довольно странно: он то непредсказуемо изменяется, то вдруг становится абсолютно таким же, каким был ранее, и невозможно понять, вырос он или нет. И так в каждой точке. Не надо путешествовать - весь мир раскроется перед вами, если непрерывно менять масштаб. Основных законов, по которым живёт Природа, немного, поэтому при подобном изменении масштаба рано или поздно всё должно повториться, даже если законы эти сложны. Фрактальное разнообразие представляет возможность каждому индивиду наиболее ярко выразить себя. На основании выполненной работы можно сделать некоторые выводы: 1. Фрактальные изображения можно построить посредством простых алгоритмов, используя рекурсию. 2. Изменяя вид ломаной-генератора можно получать новые фрактальные кривые и разнообразие их бесконечно. 3. У фрактала нет конца, начала или середины - "читать", рассматривать фрактал можно с любого места. 4. С помощью фрактальных кривых можно легко описать многие природные объекты - деревья, кусты, травы, горы, береговую линию и т. д. 5. Используя теорию фракталов можно моделировать сложнейшие физические процессы, наглядно представляя при этом их внутреннюю красоту. 6. Модель всего мира имеет свойства фрактальности, т. е. самоподобия. Нередко искусство может воспринимать мир глубже научной мысли. Думается, что дальнейшее развитие науки из-за возрастающей её сложности в принципе станет невозможным, если не пользоваться методами искусства. Фрактальная графика как раз и становится мостом между наукой и искусством.