kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Видеоуроки Олимпиады Подготовка к ЕГЭ

Моделирование фракталов в системе Maxima

Нажмите, чтобы узнать подробности

Моделирование фракталов в системе  Maxima. Примеры, коды программ и скриншоты.

Просмотр содержимого документа
«Моделирование фракталов в системе Maxima»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«Мордовский государственный педагогический институт

имени М.Е. евсевьева»



Физико-математический факультет


Кафедра информатики и вычислительной техники






РЕФЕРАТ


МОДЕЛИРОВАНИЕ ФРАКТАЛОВ В СИСТЕМЕ MAXIMA




Автор работы: Д.Р.Капкаева, студентка V курса группы МДМ-113 очной формы обучения


44.03.05 Педагогическое образование. Профиль Математика. Информатика


Руководитель: Т.В.Кормилицына, канд. пед. н., доцент





Саранск 2018



Содержание

Введение 3

1.1 Фракталы 3

1.2 Классификация фракталов 5

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

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

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

1.3 Система Maxima 7

1.3.1 Пакет fractals 7

1.3.2 Пакет dynamics 9

Заключение 13

Список использованных источников 14




























Введение

Кто хотя бы раз видел фракталы – удивительно красивые и таинственные геометрические объекты, тот надолго заболел этим интересным и захватывающим научным явлением. Фрактальные рисунки – вершина вдохновения мастера на пути к совершенному единству математики, информатики и искусства. Такими представляются фракталы, которые строят современные компьютеры.

До недавнего времени геометрические модели природных объектов изображались с помощью комбинаций простых фигур: прямых, треугольников, окружностей, сфер, многогранников. Правда, с помощью набора этих известных фигур трудно описать более сложные природные объекты: пористые материалы, формы облаков, кроны деревьев, др. Современная наука не может обойтись без новых компьютерных средств. Они выводят математику на чрезвычайно высокий уровень. Изучая фракталы, весьма трудно провести грань между математикой и информатикой – так тесно они переплелись в своём стремлении открыть уникальные модели, приближающие нас к пониманию некоторых природных процессов и явлений.

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

Преимуществами этой системы являются: бесплатная лицензия, кроссплатформенность (реализация в ОС Windows, Linux, Unix, Mac OS X, BSD), открытый код (что понижает количество встроенных ошибок), поддержка языка программирования Lisp и др. Maxima выполняет символьные и численные вычисления, строит различные графики.


1.1 Фракталы

Понятия «фрактал» и «фрактальная геометрия» возникли в 70-80-х годах прошлого века. Они прочно вошли в обиход математиков и программистов. Слово «фрактал» происходит от латинского fractus, что в переводе означает разбитый (поделённый на части). Оно было предложено американским математиком Бенуа Мандельбротом в 1975 году для обозначения нерегулярных самоподобных структур. По определению, данному Мандельбротом, «фракталом называется структура, состоящая из частей, которые в каком-то смысле подобны целому». Свойство самоподобности отражает главную особенность природных объектов, когда отдельная клетка растения или животного несёт в себе полную информацию обо всём организме.

С математической точки зрения фрактал – это прежде всего множество дробной размерности. Всем, кто изучает геометрию, известно, что размерность отрезка равна 1, квадрата-2, куба и параллелепипеда-3. Дробная размерность-основное свойство фракталов.

Рождение фрактальной геометрии принято связывать с выходом в 1977 году книги Мандельброта «Фрактальная геометрия природы». В ней использованы научные результаты учёных, работавших в период 1875-1925 гг. в той же области. Среди них Пуанкаре, Фату, Жюлиа, Кантор, Хаусдорф. Только в наше время удалось объединить эти работы в единую систему.

Фрактальная геометрия – это революция в математике и математическом описании природы. Вот как об этом пишет сам первооткрыватель фрактальной геометрии Бенуа Мандельброт: «Почему геометрию часто называют холодной и сухой? Одна из причин заключается в её неспособности описать форму облака, горы, дерева или моря. Облака -это не сферы, горы - это не конусы, линии берега - это не окружности, и кора не является гладкой, и молния не распространяется по прямой… Природа демонстрирует нам не просто более высокую степень, а совсем другой уровень сложности. Число различных масштабов длин в структурах бесконечно».

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

Если рассматривать фрактальные объекты в различном масштабе, то нетрудно обнаружить одни и те же основные элементы. Эти повторяющиеся закономерности определяют дробную (фрактальную) размерность необычной геометрической фигуры.

Природные объекты, обладающие фрактальными свойствами:

В живой природе:

    • Кораллы

    • Морские звезды и ежи

    • Морские раковины

    • Цветы и растения (брокколи, капуста)

    • Кроны деревьев и листья растений

    • Плоды (ананас)

    • Кровеносная система и бронхи людей и животных

В неживой природе:

    • Границы географических объектов (стран, областей, городов)

    • Береговые линии

    • Горные хребты

    • Снежинки

    • Облака

    • Молнии

    • Морозные узоры на оконных стёклах

    • Кристаллы


Свойства фракталов:

  • Обладает сложной структурой при любом увеличении;

  • Является (приближенно) самоподобной;

  • Обладает дробной метрической размерностью, которая больше топологической;

  • Может быть построена рекурсивными процедурами.


1.2 Классификация фракталов

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


Фракталы

Алгебраические Геометрические Стохастические

    

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

История фракталов началась с геометрических фракталов, которые исследовались математиками в 19 веке. Геометрические фракталы являются самыми наглядными, так как сразу видна самоподобность. Все геометрические фракталы обладают жесткой самоподобностью, не изменяющейся при изменении масштаба. Для построения геометрических фракталов характерно задание "основы" и "фрагмента", повторяющегося при каждом уменьшении масштаба (рис. 1). Поэтому эти фракталы иногда называют конструктивными или автомодельными. Примерами таких фракталов являются треугольник Серпинского, снежинка Коха, кривая Леви и многие  другие.  В графике геометрические фракталы применяются для получения изображений деревьев, кустов, береговых линий и т.д.

Конструктивные фракталы строятся с помощью рекурсивных процедур, систем итерированных функций, L-систем, и др.

Рисунок 1 – Геометрический фрактал

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

Это самая крупная группа фракталов. Они строятся на основе алгебраических формул. Получают их с помощью нелинейных процессов в n-мерных пространствах. Известно, что нелинейные динамические системы обладают несколькими устойчивыми состояниями. Состояние, в котором окажется динамическая система после некоторого числа итераций, зависит от начальных условий. Поэтому каждое устойчивое состояние (аттрактор) обладает некоторой областью начальных состояний, при которых система обязательно перейдет в рассматриваемые конечные состояния. Таким образом, фазовое пространство разбивается на области притяжения аттракторов (рис 2).

Самыми известными из них являются множества Мандельброта и Жюлиа, Бассейны Ньютона и т.д.

Рисунок 2 – Алгебраический фрактал


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

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

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

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

Рисунок 3 – Стохастический фрактал

1.3 Система Maxima

В рамках проекта создания искусственного интеллекта в 1967 году в Массачусетском технологическом институте была инициирована разработка первой системы компьютерной алгебры Macsyma. Программа в течение многих лет использовалась и развивалась в университетах Северной Америки, где появилось множество вариантов системы. Maxima является одним из таких вариантов, созданным профессором Вильямом Шелтером (William Schelter) в 1982 году. В 1998 году он получил официальное разрешение Министерства энергетики США на выпуск Maxima под лицензией GPL. А начиная с 2001 года, Maxima развивается как свободный международный проект, базирующийся на SourceForge.

В настоящее время Maxima – это система компьютерной математики, которая предназначена для выполнения математических расчетов (как в символьном, так и в численном виде) таких как:

  • упрощение выражений;

  • графическая визуализация вычислений;

  • решение уравнений и их систем;

  • решение обыкновенных дифференциальных уравнений и их систем;

  • решение задач линейной алгебры;

  • решение задач дифференциального и интегрального исчисления;

  • решение задач теории чисел и комбинаторных уравнений и др.

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


1.3.1 Пакет fractals

C помощью пакета fractals можно строить известные фракталы:

  • треугольник Серпинского, фракталы «Дерево», «Папоротник»;

  • множество Мандельброта и множества Жюлиа;

  • снежинки Коха;

  • отображения Пеано: кривые Серпинского и Гильберта.

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

Рассмотрим функции этого пакета.

  1. sierpinskiale(𝑛) – возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей треугольнику Серпинского, получающемуся рандомизированным алгоритмом.

  2. treefale(𝑛) – возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей древовидному аттрактору СИФ, получающемуся рандомизированным алгоритмом.

  3. fernfale(𝑛) – возвращает массив из координат 𝑛 − 1 случайной точки, принадлежащей древовидному аттрактору СИФ, получающемуся рандомизированным алгоритмом.

  4. mandelbrot_set(𝑥, 𝑦) – возвращает число 𝑛 ≤ 29 итераций, для которого , либо число 30, если за 29 итераций орбита точки 0 осталась внутри круга |𝑧|

  5. julia_set(𝑥, 𝑦) – возвращает число 𝑛 ≤ 29 итераций, для которого , либо число 30, если за 29 итераций орбита точки 𝑥 + 𝑦i осталась внутри круга |𝑧|

Рисунок 4 – Фрактал julia

  1. julia_sin(𝑥, 𝑦) – то же, что и предыдущая команда, только для функции 𝑓(𝑧) = 𝑐 sin 𝑧.

  2. snowmap(𝑣𝑒𝑟𝑡, 𝑖𝑡𝑒𝑟) – возвращает массив вершин снежинки Коха (рис.5) после 𝑖𝑡𝑒𝑟 итераций, построенной на сторонах ломаной линий, заданной массивом вершин 𝑣𝑒𝑟𝑡 в виде комплексных чисел. Если первая и последняя вершины совпадают, то ломаная линия замкнута.

Рисунок 5 – Снежинка Коха

  1. hilbertmap(𝑖𝑡𝑒𝑟) – возвращает массив вершин непрерывной кривой Гильберта (рис. 6), плотно заполняющей плоскую область, после 𝑖𝑡𝑒𝑟 итераций.

Рисунок 6 – Кривая Гильберта

  1. sierpinskimap(𝑖𝑡𝑒𝑟) – возвращает массив вершин непрерывной кривой Серпинского (рис. 7), плотно заполняющей плоскую область, после 𝑖𝑡𝑒𝑟 итераций.

Рисунок 7 – Кривая Серпинского

1.3.2 Пакет dynamics

C помощью пакета dynamics можно строить различные графические представления динамических систем и фракталов: ˆ

  • паутинная диаграмма; ˆ

  • бифуркационная диаграмма; ˆ

  • эволюция орбиты одно- и двумерного отображений; ˆ

  • «игра в хаос»; ˆ

  • система итерированных функций, заданная аффинными преобразованиями;

  • множества Жюлиа, Мандельброта;

а также, в нём реализован метод Рунге-Кутты 4го порядка для решения систем дифференциальных уравнений.

Рассмотрим функции этого пакета.

  1. load(dynamics)$ Для вывода графики команды пакета dynamics используют команду plot2d, поэтому все опции 𝑜𝑝𝑡𝑖𝑜𝑛𝑠 этой команды можно передавать в команды пакета dynamics, например, можно менять графические интерфейсы, различные стили графиков, цвета, менять масштаб осей на логарифмический и т.д.

  2. chaosgame([[0,0],[1,0],[0.5,sqrt(3)/2]], [0.1,0.1],1/2,30000,[style,dots])$ (рис. 8)

Рисунок 8 – «Игра в хаос»

  1. a1:matrix([0.85,0.04],[-0.04,0.85])$

a2:matrix([0.2,-0.26],[0.23,0.22])$

a3:matrix([-0.15,0.28],[0.26,0.24])$

a4:matrix([0,0],[0,0.16])$

p1:[0,1.6]$

p2:[0,1.6]$

p3:[0,0.44]$

p4:[0,0]$

r: [85,92,99,100]$

ifs(r,[a1,a2,a3,a4],[p1,p2,p3,p4], [5,0],50000,[style,dots])$ (рис. 9)

Рисунок 9 - Фрактал

  1. julia(-0.11,0.65569999)$ (рис. 10)

Рисунок 10 – Множество Жюлиа

  1. mandelbrot()$ (рис. 11)

Рисунок 11 – Множество Мальдеброт


Дополнительные опции команд julia и mandelbrot: ˆ

  • size – задаёт размер изображения в пикселах. При этом size=a (или [size,a]) задает квадратное изображение a×a, а [size,a,b]. Если a̸=b, изображение будет выглядеть искаженным. По умолчанию размеры 400×400.

  • levels – определяет максимальное число итераций, это число также равно количеству используемых цветов для раскраски точек вне множества. Значение по умолчанию 12. Большие значения требуют большего времени вычислений. ˆ

  • huerange – задает область углов оттенка (ℎ𝑢𝑒) для раскраски точек вне множества. Значение по умолчанию 360 (это означает, что цвета будут всех оттенков). Если это значение больше 360, область углов оттенка повторяется. Если значение меньше нуля, то углы оттенка будут убывать с количеством итераций. ˆ

  • hue – задаёт значение оттенка в градусах для первого цвета для окраски точек вне множеств. Значение по умолчанию 300, что отвечает пурпурному цвету (𝑚𝑎𝑔𝑒𝑛𝑡𝑎). Стандартные значения для других цветов: 0 (красный цвет), 45 (оранжевый), 60 (желтый), 120 (зелёный), 180 (голубой, 𝑐𝑦𝑎𝑛), 240 (синий). ˆ

  • saturation – задаёт насыщенность цвета точек вне множества (в пределах от 0 до 1). По умолчанию 0.46. ˆ

  • value – задаёт яркость цвета точек вне множества (в пределах от 0 до 1). По умолчанию 0.96. ˆ

  • color – задаёт значение цвета точек множества тремя параметрами: [color,ℎ𝑢𝑒,𝑠𝑡𝑢𝑟𝑎𝑡𝑖𝑜𝑛,𝑣𝑎𝑙𝑢𝑒] (оттенок, насыщенность, яркость). По умолчанию все параметры равны 0, что соответствует чёрному цвету.

  • center – задает координаты точки 𝑐 = 𝑥+𝑖𝑦 комплексной плоскости, приходящейся на центр изображения: [center,𝑥,,𝑦]. Значение по умолчанию 𝑥 = 𝑦 = 0 (начало координат находится в середине изображения). ˆ

  • radius – задаёт радиус наибольшей окружности, умещающейся в изображаемой квадратной области (определяет масштаб изображения). По умолчанию 2. ˆ

  • filename – задаёт имя файла изображения без расширения. По умолчанию это имя "julia" или "mandelbrot" и файл сохраняется в директорию, в которой установлена Maxima. Если необходимо сохранять файлы в другой директории, следует указать полное имя файла с путём, но без расширения.




Заключение
    

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

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

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

















Список использованных источников


  1. «В мир информатики», журнал «Информатика»: №23, №24/2008, изд-во «1ое сентября»

  2. http://fractals.narod.ru/

  3. http://fractalworld.xaoc.ru/ article/tree 3.html

  4. http://ru.wikipedia.org/wiki

  5. http://www.fractals.nsu.ru/

  6. Азевич А.И. Фракталы: геометрия и искусство. / Математика в школе, №5. 2005

  7. Волошников А.В. Математика и искусство. М.: Просвещение, 2000

  8. Трошин, П. И. Моделирование фракталов в среде Maxima, часть 1 – Казань, 2012 г.








    




Получите в подарок сайт учителя

Предмет: Информатика

Категория: Прочее

Целевая аудитория: 10 класс

Скачать
Моделирование фракталов в системе Maxima

Автор: Капкаева Динара Ринатовна

Дата: 06.03.2018

Номер свидетельства: 460939

Похожие файлы

object(ArrayObject)#849 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(70) "Моделирование фракталов в системе Maxima"
    ["seo_title"] => string(46) "modielirovaniie_fraktalov_v_sistiemie_maxima_1"
    ["file_id"] => string(6) "461232"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1520684799"
  }
}
object(ArrayObject)#871 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(70) "Моделирование фракталов в системе Maxima"
    ["seo_title"] => string(46) "modielirovaniie_fraktalov_v_sistiemie_maxima_2"
    ["file_id"] => string(6) "461233"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(11) "presentacii"
    ["date"] => string(10) "1520684989"
  }
}
object(ArrayObject)#849 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(55) "Моделирование фракталов в Maxima"
    ["seo_title"] => string(34) "modielirovaniie_fraktalov_v_maxima"
    ["file_id"] => string(6) "400346"
    ["category_seo"] => string(10) "matematika"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1489521560"
  }
}
object(ArrayObject)#871 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(66) "Моделирование фракталов в среде Maxima"
    ["seo_title"] => string(38) "modielirovaniiefraktalovvsriediemaxima"
    ["file_id"] => string(6) "268220"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1450602780"
  }
}

ПОЛУЧИТЕ БЕСПЛАТНО!!!
Личный сайт учителя
Получите в подарок сайт учителя


Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Ваш личный кабинет
Проверка свидетельства