Автор работы: Пользователь скрыл имя, 07 Июня 2013 в 00:06, курсовая работа
Разветвления трубочек трахей, листья на деревьях, вены в руке, река, бурлящая и изгибающаяся, рынок ценных бумаг - это все фракталы. От представителей древних цивилизаций до Майкла Джексона, ученые, математики и артисты, как и все остальные обитатели этой планеты, были зачарованы фракталами и применяли из в своей работе.
Программисты и специалисты в области компьютерной техники так же без ума от фракталов, так как фракталы бесконечной сложности и красоты могут быть сгенерированы простыми формулами на простых домашних компьютерах. Открытие фракталов было открытием новой эстетики искусства, науки и математики, а так же революцией в человеческом восприятии мира.
Введение_________________________________________________________3
Постановка задачи и описание_______________________________________4
1.Понятие фрактал_________________________________________________5
2. Применение фракталов___________________________________________6
2.1Компьютерные системы_____________________________________6
2.2Механика жидкостей_______________________________________ 6
2.3 Телекоммуникации_________________________________________7
2.4 Физика поверхностей_______________________________________7
2.5Медицина ________________________________________________7
2.6 Биология_________________________________________________7
3. Множество Мандельброта_________________________________________8
4.Фрактальное дерево______________________________________________11
5.Код программы на Delphi_________________________________________13
Заключение______________________________________________________20
Список литературы_______________________________________________21
Курсовая работа : Генерирование фракталов
СОДЕРЖАНИЕ
Введение______________________
Постановка
задачи и описание____________________
1.Понятие
фрактал_______________________
2. Применение
фракталов_____________________
2.1Компьютерные
системы_______________________
2.2Механика
жидкостей_____________________
2.3 Телекоммуникации______________
2.4 Физика
поверхностей__________________
2.5Медицина
______________________________
2.6 Биология______________________
3. Множество
Мандельброта__________________
4.Фрактальное
дерево________________________
5.Код программы
на Delphi_____________________
Заключение____________________
Список литературы_____________
Приложения____________________
ВВЕДЕНИЕ
Разветвления трубочек трахей, листья на деревьях, вены в руке, река, бурлящая и изгибающаяся, рынок ценных бумаг - это все фракталы. От представителей древних цивилизаций до Майкла Джексона, ученые, математики и артисты, как и все остальные обитатели этой планеты, были зачарованы фракталами и применяли из в своей работе.
Программисты
и специалисты в области
ПОСТАНОВКА ЗАДАЧИ И ОПИСАНИЕ.
Цель курсовой работы разработать программу, генерирующую один из видов фракталов с помощью приложения Delphi. Программа должна работать следующим образом:
1) При открытии программы должна открываться главная форма
2) Пользователь вводит данные
3) Программа обрабатывает данные, если данные введены не верно то программа выдает пользователю сообщение об ошибке. Если же ошибки нет то программа прорисовывает фрактал.
4) При нажатии на кнопку закрыть программа закрывается.
Понятия
фрактал и фрактальная
Роль фракталов в машинной графике сегодня достаточно велика. Они приходят на помощь, например, когда требуется, с помощью нескольких коэффициентов, задать линии и поверхности очень сложной формы. С точки зрения машинной графики, фрактальная геометрия незаменима при генерации искусственных облаков, гор, поверхности моря. Фактически найден способ легкого представления сложных неевклидовых объектов, образы которых весьма похожи на природные.
Одним из основных свойств фракталов является самоподобие. В самом простом случае небольшая часть фрактала содержит информацию о всем фрактале.
Фракталы находят все большее и большее применение в науке. Основная причина этого заключается в том, что они описывают реальный мир иногда даже лучше, чем традиционная физика или математика[1].
2.ПРИМЕНЕНИЕ ФРАКТАЛОВ
2.1Компьютерные системы
Наиболее полезным использованием фракталов в компьютерной науке является фрактальное сжатие данных. В основе этого вида сжатия лежит тот факт, что реальный мир хорошо описывается фрактальной геометрией. При этом, картинки сжимаются гораздо лучше, чем это делается обычными методами (такими как jpeg или gif). Другое преимущество фрактального сжатия в том, что при увеличении картинки, не наблюдается эффекта пикселизации (увеличения размеров точек до размеров, искажающих изображение). При фрактальном же сжатии, после увеличения, картинка часто выглядит даже лучше, чем до него.
2.2Механика жидкостей
Изучение турбулентности в потоках очень хорошо подстраивается под фракталы. Турбулентные потоки хаотичны и поэтому их сложно точно смоделировать. И здесь помогает переход к из фрактальному представлению, что сильно облегчает работу инженерам и физикам, позволяя им лучше понять динамику сложных
Изучение турбулентности в потоках очень хорошо подстраивается под фракталы. Турбулентные потоки хаотичны и поэтому их сложно точно смоделировать. И здесь помогает переход к из фрактальному представлению, что сильно облегчает работу инженерам и физикам, позволяя им лучше понять динамику сложных потоков.
При помощи
фракталов также можно
Пористые материалы хорошо представляются в фрактальной форме в связи с тем, что они имеют очень сложную геометрию. Это используется в нефтяной науке.
2.3Телекоммуникации
Для передачи данных на расстояния используются антенны, имеющие фрактальные формы, что сильно уменьшает их размеры и вес.
2.4Физика поверхностей
Фракталы используются для описания кривизны поверхностей. Неровная поверхность характеризуется комбинацией из двух разных фракталов.
2.5Медицина
1. Биосенсорные взаимодействия
2. Биения сердца
2.6 Биология
Моделирование хаотических процессов, в частности при описании моделей популяций[2].
3.МНОЖЕСТВО МАНДЕЛЬБРОТА
Мандельброт исследовал предельное (при k→∞) поведение последовательности комплексных чисел
zk+1=z2k+c; k=0,1,2…; z0=c
при различных значениях комплексных чисел с. Вместо арифметических операций с комплексными числами можно моделировать на плоскости ху движение точек zk = [xk уk], задаваемое двумя рекуррентными уравнениями координат:
xk+1=x2k-y2k+cx; yk+1=2xkyk+cy; k=0,1,2…; x0=cx; y0=cy
Последовательность zk с ростом числа итераций демонстрирует повеление двух типов (рис. 3.62) в зависимости от выбора начальной точки с=[cx cy]. Ee элементы, эволюционируя по плоскости, либо постепенно уходят в бесконечность, либо всегда остаются в определенной замкнутой области, совершая циклическое движение или сходясь в точку . Математиками строго доказано, что если при некотором k модуль |zk|>rmin, где rmin=2—минимальный радиус расходимости множества Мандельброта, то далее последовательность расходится.
Множество точек с, для которых последовательность
zk+1=z2k+c; k=0,1,2…; z0=c
не расходится, называется множеством Мандельброта. Весьма сложно доказывается , что это множество связно.
Графическая
интерпретация множества
данные итерационного процесса :
Условимся, что если точка zk вышла за пределы круга радиуса rmin, то расходимость достигнута за k<kmax итераций и процесс останавливается.
Для каждой точки
сij є C i=1..m, j=`1..n
запустим итерационный процесс и сформируем матрицу М, элемент которой mij є [1, kmax] равен номеру итерации к, на которой процесс был остановлен. Далее возможны варианты изображения фрактального множества на плоскости или в пространстве.
В плоском варианте визуализации выведем матрицу М на экран как растр, сопоставив элементам mij, некоторую палитру из kmax цветов. Например, можно выбрать радужную палитру, у которой цвета и оттенки от фиолетового до красного (или градации серого цвета) распределены по диапазону чисел матрицы либо линейно (чем быстрее расходится последовательность в некоторой точке сij, тем темнее ее цвет), либо по другому закону. Яркие изображения дают палитры с чередующимися контрастными цветами.
Полагая числа mij высотами некоторой поверхности в точках сij, можно по- строить объемное изображение множества Мандельброта или его части, которое при специально подобранном освещении может выглядеть и как скала с плоской вершиной , и как водопад, и как горная пещера[3, С.348-350].
4.ФРАКТАЛЬНОЕ ДЕРЕВО
Фигуры и формы, о которых пойдет речь в этой главе, заинтересовали еще древних греков. Пифагор доказал свою знаменитую теорему, построив фигуру, в которой на сторонах прямоугольного треугольника расположены квадраты. В наш век эта фигура Пифагора выросла в «дерево». Внимание Архимеда привлекли спирали: он даже написал о них трактат. Один из видов спиралей носит его имя. Спирали являются строительными блоками живого мира. Ядро клетки состоит из двойной спиральной структуры - ДНК. содержащей в себе генетический код формирующегося организма. Иногда и сами организмы имеют спиральную структуру, например, улитки.
В неживой природе примером спиральной структуры может служить спиральная галактика.
Впервые дерево Пифагора построил А. Е. Босман в 1891 - во время второй мировой войны, используя для этого обычную чертежную линейку.
Пример Пифагорова дерева дан на рисунке {р - 12). Если мы пронумеруем квадраты, то обнаружим, что квадрат с индексом n «держит на себе» равнобедренный треугольник, от которого произрастают два более мелких квадрата. Квадраты слева имеют индекс 2n, справа - (2л+1). Вместе прямоугольный треугольник, два квадрата на его катетах и квадрат на гипотенузе дают геометрическое представление теоремы Пифагора. Пели площадь первоначального квадрата равна единице, то общая площадь квадратов 2 и 3 также будет единица. То же самое получим для каждого следующего уровня. Тогда квадраты с номерами 8. 9, 10. 11, 12, 13, 14, 15 имеют общую площадь ту же, что и основной квадрат.
Можно упростить дерево Пифагора, отбросив квадраты и рисуя только отрезки, которые соединяют «центры» треугольников. Сами треугольники не рисуются. В результате получим обнаженное дерево[4, C.45-48].
5.КОД ПРОГРАММЫ НА DELPHI
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, math, Buttons;
type
TForm1 = class(TForm)
Button1: TButton;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
BitBtn1: TBitBtn;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure fract(x,y,a,l,k,a1:integer);
var
p:integer;
begin
p := a1;
if k mod 2 = 0 then
p := -a1;
while l > 3 do
begin
with form1.Canvas do
begin
pen.Width := 6-k;
pen.Color := rgb(random(255),random(255),
moveto(x,y);
lineto(x+round(cos(
x := x+round(cos(degtorad(a))*l);
y := y+round(sin(degtorad(a))*l);
a := a + p;
l := round(l / 1.17);
fract(x,y,a-(p*2),round(l / 1.2),k+1,a1+1);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var q, w, e, r, t, u :Integer;
begin
q:=600;
w:=500;
e:=StrToInt(Edit3.Text);
r:=StrToInt(Edit4.Text);
t:=0;
u:=StrToInt(Edit6.Text);
fract(q,w,e,r,t,u);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
Image1: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);