Вход

Различие алгоритмов моделирования фракталов в Maple и Delphi

Курсовая работа
Дата создания 22.05.2016
Страниц 60
Источников 7
Вы будете перенаправлены на сайт нашего партнёра, где сможете оформить покупку данной работы.
1 584руб.
КУПИТЬ

Содержание

Содержание Введение 4 Теоретические основы понятия «Фрактальная графика» 6 1.1 Анализ понятии, связанных с фрактальной графикой 9 Размерность Хаусдорфа 10 Фрактальная размерность Минковского 10 1.2 Этапы работы над проектом 13 Глава 1. Применение фракталов в ЭВМ 14 1.1 Технологии создания программ под управлением СКМ Maple. 14 1.2 Базовые управляющие структуры Maple-языка. 16 1.2.1 Организация программных модулей и механизма процедур в Maple-языке 17 1.2.2 Средства Maple-языка для обеспечения доступа к внешним файлам данных BINARY-типа 18 1.3 Графические средства Maple. 19 1.3.1 Графическая интерпретация алгебраических выражений и уравнений в среде Maple 19 1.3.2 Двухмерное представление функциональных зависимостей и данных в среде Maple 20 1.3.3 Трехмерное представление функциональных зависимостей и данных в среде Maple 20 1.3.4 Создание графических объектов на основе базовых примитивов 20 1.4 Создание и работа с библиотеками пользователя 20 1.5 Технологии создания объектно-ориентированных проектов решения математических задач в Delphi. 20 1.6 Основы Графики в системе Delphi. 20 Глава 2 Алгоритмы и программы по теме «Фрактальная графика» 21 2.1 Тема «Введение в Фрактальную графику» (базовый понятийный аппарат. базовым понятием для фрактальной компьютерной графики являются «Фрактальный треугольник». Затем идет «Фрактальная фигура», «Фрактальный объект», «Фрактальная прямая», «Фрактальная композиция», «Объект-родитель» и «Объект наследник». Основные свойства фракталов 21 2.1.1 Тема «Классификация фракталов 22 2.1.2 Тема «Геометрические фракталы. Кривая Коха, снежинка Коха, Дракон Хартера–хейтуэяю Использование L-систем для построения «дракона. Ковер и треугольник Серпинского 23 2.1.3 Тема «Алгебраические фракталы. Построение множества Мандельброта. Построение множества Жюлиа 27 2.1.4 Тема «Стохастические фракталы. Системы итерируемых функций для построения фракталов. Сжатие изображений с использованием системы итерируемых функций. 31 Список библиографии 36 Содержание

Фрагмент работы для ознакомления

Рисунок 11. – Кривая Коха, показывается процесс увеличения сегментов по мере увеличения количества разбиения Снежинка Коха является продолжением идеи разделения прямой на равномерные отрезки для построения, но в качестве базиса берется равносторонний треугольник. Соответственно по мере увеличений количества итераций происходит увеличение количества сегментов, соответственно объект начинает больше напоминать снежинку. Рисунок 12 – Снежинка Коха. Рисунок 13. – Пример кривой Коха, построенной с помощью Delphi Исходный код построения кривой Коха procedure FractalKoch(a,b:TPoint;level:integer); procedure Draw(b,e:TPoint); begin with Form1.Image1.Canvas do begin moveto(b.x,b.y); lineto(e.x,e.y); end; end; var c,d,e,f, e1, f1, g:TPoint; begin c.x:=trunc((b.x-a.x)/3+a.x); c.y:=trunc((b.y-a.y)/3+a.y); d.x:=trunc(b.x-(b.x-a.x)/3); d.y:=trunc(b.y-(b.y-a.y)/3); e1.x:=a.y; e1.y:=b.x; e.x:=b.y; e.y:=a.x; f.x:=trunc((b.x-a.x)/2+a.x); f.y:=trunc((b.y-a.y)/2+a.y); f1.x:=trunc(f.x+(e1.x-e.x)); f1.y:=trunc(f.y+(e1.y-e.y)); g.x:=trunc(f.x+(f1.x-f.x)/3); g.y:=trunc(f.y+(f1.y-f.y)/3); if Level=0 then Draw(a,b) else if Level=1 then begin Draw(a,c); Draw(c,g); Draw(g,d); Draw(d,b); end else begin FractalKoch(a,c,Level-1); FractalKoch(c,g,Level-1); FractalKoch(g,d,Level-1); FractalKoch(d,b,Level-1); end; end; Тема «Алгебраические фракталы. Построение множества Мандельброта. Построение множества Жюлиа Множество Мандельброта, это множество точек с на комплексной плоскости, для которых справедливо рекуррентное соотношение при z0= 0 является ограниченным. Множество Мандельброта это множество таких c, для которых существует такое действительное R, что неравенство |zn|<R выполняется при всех натуральных n; В курсовой работе также рассмотрен данный вид фрактала. Построение его довольно простое, общий вид алгоритма предполагает выбор области построения, и его попиксельное сканирование. Далее происходит проверка точки на принадлежность фракталу Мандельброта, если точка принадлежит фракталу с заданным эпсилон ставим соответствующий цвет. Ввиду того, что фрактал Мандельброта обладает эффектом самоподобия, сделали механизм увеличения фрактала, чтобы увидеть, что действительно малые фракталы при увеличении повторяет изображения большого фрактала. Также сделали механизм увеличений точности, который влияет на эпсилон, с которым строится фрактал. При повышении точности скорость построения фрактала падает, поэтому в качестве исследования использовали компонент, который отображает прогресс построения графического изображения фрактала. Прогресс построения, фрактала позволяет прогнозировать примерное время построения фрактала. Но не во всех случаях, возможно, определить время построения, к примеру: в рекурсивных алгоритмах, стохастических алгоритмах. Очень сложное определение примерного времени построения в стохастических алгоритмах так как время зависит и от того какие случайные числа выпадают, соответственно алгоритм может строить за разное время. Рисунок 14. – Фрактал множества Мандельброта , реализованный в программе Delphi. Рисунок 15. – Фрактал множества Мандельброта, при увеличении в 700 раз и увеличении точности построения. Исходный код построения фрактала Мандельброта procedure TForm1.DrawMondelbrot; const MaxXValue = 310; var zi, zr, ci, cr, tmp: Extended; i, j, k, m: Integer; Depth: Integer; aParametr: Extended; begin Depth := SpinEdit1.Value; aParametr:= SpinEdit2.Value; ProgressBar.Max := MaxXValue-160; ProgressBar.Position := 0; for i:= -160 to MaxXValue do begin ci := i/aParametr; ProgressBar.Position:= ProgressBar.Position+1; for j:= -190 to 400 do begin cr := j/aParametr; zi := 0.0; zr := 0.0; for k:=0 to DEPTH do begin tmp := zr*zr - zi*zi; zi := 2*zr*zi + ci; zr := tmp + cr; if (zr*zr + zi*zi > 1.0E16) then begin break; end; end; if (k < DEPTH) then begin m := k mod 255 + 1; Image1.Canvas.Pixels[i + 160, j + 190] := RGB(m*15, 40 , m*15); end; end; end; ProgressBar.Position := 0; end; Тема «Стохастические фракталы. Системы итерируемых функций для построения фракталов. Сжатие изображений с использованием системы итерируемых функций. Стохастические фракталы представляют собой алгоритмы, использующие в своих вычислениях генератор случайных чисел. Генератор случайных чисел позволяет программе создавать каждый раз новые изображения фрактала. Как правило, такие алгоритмы востребованы там, где требуется получить множество различных геометрических объектов. Главной проблемой создания таких фракталов является определение предела, в которых может меняется значения управляющих параметров. Основное применение находит в трехмерной графике. В начале 90 годов художники для создания в электронно-вычислительных машинах изображении природы тратили много времени, в силу того что для создания в одном из известных пакетов трехмерной графики 3d Max и Maya необходимы определенные навыки и процесс создания является очень длительной процедурой. И примерно в это время задумались о том, что деревья, растительность представляет собой фрактальный объект. Но в отличии от двухмерного случая, требовалось разработать алгоритмы которые могли бы строить трехмерные березы, елки и другие деревья. Соответственно, для создания объектов, требуется только указать количество итерации, от которой будет зависеть количество веток, листьев нашего дерева. В тоже время, если алгоритм будет вычислять по одному и тому же пути, будет «производится» одно и тоже дерево. Поэтому при создании объекта используется генератор случайных чисел, который добавляет случайный поворот ствола, ветки, листочка. Поэтому созданные с помощью такого алгоритма деревья становятся разными. Можно даже сказать вероятность получения одинаковых деревьев будет ничтожна мала. Поэтому такие алгоритмы называют стохастическими, то есть случайными. В нашей курсовой работе также применяются стохастические алгоритмы для следующих задач – это задача построения дерева посредством фрактала и построение фрактала Лейс. Правда фрактал Лейс получился слабо изменяемым в силу видимо неправильно подобранных параметров, при которых изменения фрактала были бы сильно заметны невооруженным глазом. Рисунок 16. – Стохастический алгоритм построения дерева, в алгоритме меняется цвет листьев, и количество итерации влияющее на сложность построения дерева Рисунок 17. – Фрактальное дерево, при большем количестве итераций. Программа построения фрактального дерева: procedure TForm1.DrawTree(x, y, l: Integer; a: Real); var x1, y1, p, s, i : Integer; a1 : Real; begin if l>VolumeValue then begin x1 := trunc(x + l*cos(a)); y1 := trunc(y + l*sin(a)); if l > 100 then p:=100 else p:=l; if p > 50 then begin for i:=0 to (p div 10) do begin Image1.Canvas.Pen.Color:= aStvolColorSelect; Image1.Canvas.Polygon([Point(x+i-(p div 20), y),Point( x1, y1)]); end; end else begin if Random > 0.5 then Image1.Canvas.Pen.Color:= aListColorSelect else Image1.Canvas.Pen.Color:=clolive; for i:=0 To 3 do Image1.Canvas.Polygon([Point(x+i, y),Point( x1, y1)]) ; end; for i:=0 to 10-Random(10) do begin s := Random(l-l div 5) + (l div 5); a1:= a + pi/2*(0.5-Random); x1:= trunc(x + s*cos(a)); y1:= trunc(y + s*sin(a)); DrawTree(x1, y1,p-10-Random(10), a1); end; end; end; Для построения фрактала, используется рекурсивная фрактальная формула, которая при увлечении числа итерации, будет строить все более объемное дерево. Рисунок 18. – Стохастический фрактал Лейс. Фрактал Лейс строится по следящему правилу: используется случайный параметр в диапазоне 0 до 1. Если коэффициент меньше 0.25 то вычисляется по формуле: где Angle – угол, P - управляющий параметр, являющийся радиусом разброса фрактального изображения. Angle= arctg(xn-1, yn); x(n+1)= - P *cos(Angle)/2+1; y(n+1)= - P *sin(Angle)/2; При значении случайного коэффициента меньше 0.5 , то правило построения меняется: Angle= arctg(xn +1/2, yn -sqrt(3)/2); x(n+1):= -P*cos(Angle)/2-1/2; y(n+1):=-P*sin(Angle)/2+sqrt(3)/2; При значении случайного коэффициента меньше 0.75 , то правило построения меняется: w= Arctg(x+1/2, y+sqrt(3)/2); Y1=-P *cos(Angle)/2-1/2; X1=-P *sin(Angle)/2-sqrt(3)/2; Согласно теории указанные в книгах по компьютерной графике можно встретить красивые изображения фрактала Лейс, но для получения таких же изображении необходимо хорошо знать при каких параметрах получаются данные изображения. Возможно авторы, используют также модифицированные алгоритмы, а не только формулы, по которым показываются примеры данных фракталов. Список библиографии Архангельский А.Я. Программирование в Delphi 7. - М.: ООО "Бином-Пресс", 2005 г. Шабетник В. Д. Фрактальная физика: наука о  мироздании. - М., 2000. - 415 с. Ильяшенко Ю. С. Аттракторы и их фрактальная размерность. - М.: МЦНМО, 2005. - 16 с. Автоволновые процессы в нелинейных сре­дах с диффузией / Е. Ф. Мищенко, В. А. Садовничий, А. Ю. Колесов и др. - М.: ФИЗМАТЛИТ, 2005. - 432 с. P. M. Кроновер. Фракталы и хаос в динамических системах. Основы теории. М., 2000. — 352 с. Визуализация трехмерных фракталов средствами GPU Бакалаврская работа А.В.Жаренова, 2013 г. О.В. Чумак ЭНТРОПИИ И ФРАКТАЛЫ В АНАЛИЗЕ ДАННЫХ 2011 г.Ижевск 41

Список литературы

Список библиографии 1. Архангельский А.Я. Программирование в Delphi 7. - М.: ООО "Бином-Пресс", 2005 г. 2. Шабетник В. Д. Фрактальная физика: наука о мироздании. - М., 2000. - 415 с. 3. Ильяшенко Ю. С. Аттракторы и их фрактальная размерность. - М.: МЦНМО, 2005. - 16 с. 4. Автоволновые процессы в нелинейных сре­дах с диффузией / Е. Ф. Мищенко, В. А. Садовничий, А. Ю. Колесов и др. - М.: ФИЗМАТЛИТ, 2005. - 432 с. 5. P. M. Кроновер. Фракталы и хаос в динамических системах. Основы теории. М., 2000. — 352 с. 6. Визуализация трехмерных фракталов средствами GPU Бакалаврская работа А.В.Жаренова, 2013 г. 7. О.В. Чумак ЭНТРОПИИ И ФРАКТАЛЫ В АНАЛИЗЕ ДАННЫХ 2011 г.Ижевск список литературы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
Сколько стоит
заказать работу?
1
Заполните заявку - это бесплатно и ни к чему вас не обязывает. Окончательное решение вы принимаете после ознакомления с условиями выполнения работы.
2
Менеджер оценивает работу и сообщает вам стоимость и сроки.
3
Вы вносите предоплату 25% и мы приступаем к работе.
4
Менеджер найдёт лучшего автора по вашей теме, проконтролирует выполнение работы и сделает всё, чтобы вы остались довольны.
5
Автор примет во внимание все ваши пожелания и требования вуза, оформит работу согласно ГОСТам, произведёт необходимые доработки БЕСПЛАТНО.
6
Контроль качества проверит работу на уникальность.
7
Готово! Осталось внести доплату и работу можно скачать в личном кабинете.
После нажатия кнопки "Узнать стоимость" вы будете перенаправлены на сайт нашего официального партнёра Zaochnik.com
© Рефератбанк, 2002 - 2017