Проверил: доцент кафедры информатики и ВТ Т.В. Кормилицына
Саранск 2018
Содержание
Введение 3
1 Определение фрактала 4
2 Обзор пакета fractals 4
3 Обзор пакета dynamics 9
Заключение 11
Список используемых источников 12
Введение
Maxima произошла от системы Macsyma, разрабатывавшейся в MIT с 1968 по 1982 годы в рамках проекта Project MAC, финансируемого Министерством энергетики США (DOE) и другими государственными организациями. Профессор Уильям Шелтер из Техасского университета в Остине поддерживал один из вариантов системы, известный как DOE Macsyma, с 1982 года до самой своей смерти в 2001 году.
В 1998 году Шелтер получил от Министерства энергетики разрешение опубликовать исходный код DOE Macsyma под лицензией GPL, и в 2000 году он создал проект на SourceForge.net для поддержания и дальнейшего развития DOE Macsyma под именем Maxima.
Maxima — система для работы с символьными и численными выражениями, включающая дифференцирование, интегрирование, разложение в ряд, преобразование Лапласа, обыкновенные дифференциальные уравнения, системы линейных уравнений, многочлены, множества, списки, векторы, матрицы и тензоры.
Maxima имеет широчайший набор средств для проведения аналитических вычислений, численных вычислений и построения графиков. По набору возможностей система близка к таким коммерческим системам, как Maple и Mathematica. В то же время она обладает высочайшей степенью переносимости: может работать на всех основных современных операционных системах на компьютерах.
1 Определение фрактала
Термин «фрактал» введён Бенуа Мандельбротом в 1975 году и получил широкую известность с выходом в 1977 году его книги «Фрактальная геометрия природы».
Фрактал (от латинского слова fractus, что означает разбитый, поделенный на части)
Фрактал - это геометрическая фигура, состоящая из частей и которая может быть поделена на части, каждая из которых будет представлять уменьшенную копию целого.
Свойства фракталов:
Обладает сложной структурой при любом увеличении;
Является (приближенно) самоподобной;
Обладает дробной метрической размерностью, которая больше топологической;
отображения Пеано: кривые Серпинского и Гильберта.
Данный пакет обладает ограниченными возможностями.
Рассмотрим функции этого пакета:
Sierpinskiale (𝑛) — возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей треугольнику Серпинского, получающемуся рандомизированным Алгоритмом. Функции этой СИФ:
Treefale (𝑛) — возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей древовидному аттрактору СИФ, получающемуся рандомизированным алгоритмом. Функции этой СИФ:
Fernfale (𝑛) — возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей древовидному аттрактору СИФ, получающемуся рандомизированным алгоритмом (здесь вероятности выбора функции зависят от коэффициентов сжатия). Функции этой СИФ:
Mandelbrot_set (𝑥, 𝑦) — возвращает число 𝑛 ≤ 29 итераций, для которого || ≥ 100, либо число 30, если за 29 итераций орбита точки 0 осталась внутри круга |𝑧| 100. Напомним, множеству Мандельброта ℳ принадлежат точки 𝑐 = 𝑥 + 𝑦i, для которых орбита нуля ограничена. Эту функцию можно использовать для раскрашивания областей по скоростям убегания точек, например, так:
Julia_set (𝑥, 𝑦) — возвращает число 𝑛 ≤ 29 итераций, для которого |(𝑥+𝑦i)| ≥100, либо число 30, если за 29 итераций орбита точки 𝑥 + 𝑦i осталась внутри круга |𝑧| 100. Здесь число 𝑐 по умолчанию задается переменной julia_parameter:%i. Напомним, заполняющему множеству Жюлиа принадлежат точки 𝑥+𝑦i, орбита которых ограничена. Применять эту команду можно так:
Julia_sin (𝑥, 𝑦) — то же, что и предыдущая команда, только для функции (𝑧) =𝑐sin 𝑧. Автор рекомендует параметр julia_parameter:1+0.1*%i$.
Snowmap (𝑣𝑒𝑟𝑡, 𝑖𝑡𝑒𝑟) — возвращает массив вершин снежинки Коха после 𝑖𝑡𝑒𝑟 итераций, построенной на сторонах ломаной линий, заданной массивом вершин 𝑣𝑒𝑟𝑡 в виде комплексных чисел. Если первая и последняя вершины совпадают, то ломаная линия замкнута. Результирующее множество расположено слева от ломаной линии, считая в направлении от начала к ее концу. Для построения используется рекурсивный алгоритм.
Hilbertmap (𝑖𝑡𝑒𝑟) — возвращает массив вершин непрерывной кривой Гильберта, плотно заполняющей плоскую область, после 𝑖𝑡𝑒𝑟 итераций.
Sierpinskimap (𝑖𝑡𝑒𝑟) — возвращает массив вершин непрерывной кривой Серпинского, плотно заполняющей плоскую область, после 𝑖𝑡𝑒𝑟 итераций.
Примеры:
Треугольник Серпинского:
Снежинка Коха
Множество Мандельброта
Множество Жюлиа
3 Обзор пакета dynamics
C помощью пакета dynamics можно строить различные графические представления динамических систем и фракталов:
паутинная диаграмма;
бифуркационная диаграмма;
эволюция орбиты одно- и двумерного отображений;
«игра в хаос»;
система итерированных функций, заданная аффинными преобразованиями;
множества Жюлиа, Мандельброта;
а также, в нём реализован метод Рунге-Кутты 4-го порядка для решения систем дифференциальных уравнений.
Данный пакет обладает ограниченными возможностями.
Рассмотрим функции этого пакета:
Для вывода графики команды пакета dynamics используют команду plot2d, поэтому все опции 𝑜𝑝𝑡𝑖𝑜𝑛𝑠 этой команды можно передавать в команды пакета dynamics, например, можно менять графические интерфейсы, различные стили графиков, цвета, менять масштаб осей на логарифмический и т.д. Смотрите список опций команды plot2d в справке по Maxima.
Chaosgame ([[],. . .,[]],[],b,n,options) — реализует «игру в Хаос»: отмечается точка (),
реализует построение аттрактора системы итерированных функций (, ),
Julia (𝑥,𝑦,options) — создаёт изображение множества Жюлиа с параметром 𝑐 =𝑥 + 𝑖𝑦, 𝑥, 𝑦 ∈ R, и сохраняет в файле в формате XPM в директорию установки Maxima.
Точки вне множества Жюлиа окрашиваются в различные цвета в зависимости от количества итераций, после которых орбита выходит из круга радиуса 2. Максимальное количество итераций определяется опцией levels. Если после заданного количества итераций орбита точки остается внутри круга радиуса 2, точка окрашивается в цвет, заданный опцией color. Все цвета, в которые раскрашиваются точки вне множества Жюлиа, имеют одинаковую насыщенность (𝑠𝑎𝑡𝑢𝑟𝑎𝑡𝑖𝑜𝑛) и яркость (𝑣𝑎𝑙𝑢𝑒), но разные углы оттенка (ℎ𝑢𝑒), равномерно распределённые между ℎ𝑢𝑒 и ℎ𝑢𝑒 + ℎ𝑢𝑒𝑟𝑎𝑛𝑔𝑒.
Mandelbrot (options) — создаёт изображение множества Мандельброта и сохраняет в файле в формате XPM. Окрашивание точек происходит по тому же правилу, что и в команде julia.
Заключение
Наука о фракталах очень молода, потому что они стали появляться с развитием компьютерных технологий. Поэтому многое еще не изучено и многое еще предстоит открыть.
Основная причина применения фракталов в различных науках заключается в том, что они описывают реальный мир иногда даже лучше, чем традиционная физика или математика. Фракталы можно применять не только в точных науках, но и практически во всем, что нас окружает: одежда, элемент декора интерьера, дизайн открыток, штор и многого другого. Кроме большой функциональности, возможности применения фракталов в самых различных сферах жизни, это очень яркие, сочные, изумительные по своей красоте изображения, которые доставляют огромное эстетическое удовольствие, позволяют насладиться ими.
Создавать свои собственные фракталы может каждый, используя доступные графические программы. От самого процесса создания совершенно для нас нового и одновременно невероятно красивого, порой фантастического, получаешь массу удовольствия. Фракталы очень разнообразны, как и их применение. Изучая фрактальные модели для практического применения, каждый сможет выбрать подходящее для себя направление.
Список используемых источников
Азевич А.И. Фракталы: геометрия и искусство. / Математика в школе, №5. 2005
Волошников А.В. Математика и искусство. М.: Просвещение, 2000
Трошин, П. И. Моделирование фракталов в среде Maxima, часть 1 – Казань, 2012 г.