Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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





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

Задачи работы

Научиться использовать графические возможности языка Паскаль.

 

Порядок выполнения работы

Одним из приложений теории фракталов является генерация фрактальных деревьев.

3.1 Загрузите среду программирования Паскаль. Создайте с ее помощью фрактальную композицию, основанную на повторении элементов дерева. Образец фрактальной композиции предложен на рисунке.

program Vetka2;

uses Graph, CRT;

Const

min = 1;

Var

gd, gm: Integer;

 

procedure lineto1(x, y: Integer; l, u: real);

Begin

Line(x, y, Round(x + l * cos(u)), Round(y - l * sin(u)));

end;

 

procedure Draw(x, y: Integer; l, u: real);

Begin

if KeyPressed then exit;

if l > min then begin

lineto1(x, y, l, u);

x:= Round(x + l * cos(u));

y:= Round(y - l * sin(u));

Draw(x, y, l*0.4, u - pi/4);

Draw(x, y, l*0.4, u + pi/4);

Draw(x, y, l*0.7, u);

end;

end;

 

Begin

gd:= Detect;

InitGraph(gd, gm, 'c:\bp\bgi');

Draw(320, 460, 120, pi/2);

ReadKey;

CloseGraph;

end.

...

procedure Draw(x, y: Integer; l, u: real);

Begin

if KeyPressed then exit;

if l > min then begin

lineto1(x, y, l, u);

x:= Round(x + l * cos(u));

y:= Round(y - l * sin(u));

Draw(x, y, l*0.4, u - pi/4);

Draw(x + Round(l*0.4*cos(u)),

y - Round(l*0.4*sin(u)), l*0.4, u + pi/4);

Draw(x, y, l*0.7, u);

end;

end;

...

 

3.2 Ознакомьтесь с примером программы, создайте фрактальные композиции. В отчете представьте все варианты деревьев.

 

program Tree3;

uses CRT, Graph;

Var

gd, gm: Integer;

 

procedure FrTree(x, y, l, u: Real; t: Integer);

Begin

if t>0 then begin

l:= l*0.5;

Line(Round(x),Round(y),Round(x+l*cos(u)),Round(y-l*sin(u)));

x:= Round(x + l * cos(u));

y:= Round(y - l * sin(u));

FrTree(x, y, l, u, t-1);

FrTree(x, y, l, u+pi/4, t-1);

FrTree(x, y, l, u-pi/4, t-1);

end;

end;

 

Begin

gd:=Detect;

InitGraph(gd, gm, 'c:\bp\bgi');

FrTree(320, 460, 350, pi/2, 6);

FrTree(320, 460, 350, 3*pi/4, 6);

FrTree(320, 460, 350, pi/4, 6);

ReadKey;

CloseGraph

end.

 

IFS Деревья  
Tree_1 { 0 0 0 0.50 0 0 0.05 0.42 -0.42 0.42 0.42 0 0.2 0.4 0.42 0.42 -0.42 0.42 0 0.2 0.4 0.1 0 0 0.1 0 0.2 0.15 }
Tree_2 { 0.195 -0.488 0.344 0.443 0.4431 0.2452 0.25 0.462 0.414 -0.252 0.361 0.2511 0.5692 0.25 -0.058 -0.07 0.423 -0.111 0.5976 0.0969 0.15 -0.035 0.07 -0.469 0.022 0.4884 0.5069 0.15 -0.637 0 0 0.501 0.8562 0.2513 0.2 }
Tree_3 { 0.28421 -0.35644 0.32632 0.44555 0.00625 0.56275 0.166 0.37895 0.38614 -0.27368 0.34653 -0.08171 0.54063 0.166 0.41053 0 0 0.55446 -0.02832 0.53347 0.166 -0.62105 0 0 0.43564 -0.09537 0.35772 0.166 -0.03158 -0.07921 0.55790 -0.08911 -0.00755 0.51196 0.166 -0.08421 0.08911 -0.55790 -0.05941 -0.17617 0.40587 0.166 }
   
Tree_4 { 0.05 0 0 0.4 -0.06 -0.47 0.026 -0.05 0 0 -0.4 -0.06 -0.47 0.02640 0.03 -0.14 0 0.26 -0.16 -0.01 0.01030 -0.03 0.14 0 -0.26 -0.16 -0.01 0.01030 0.56 0.44 -0.37 0.51 0.3 0.15 0.59187 0.19 0.07 -0.01 0.15 -0.2 0.28 0.03854 -0.33 -0.34 -0.33 0.34 -0.54 0.39 0.29620 }
   

 

Tree_5 { 0.05 0 0 0.6 0 0 0.028 0.05 0 0 -0.5 0 1 0.02326 0.45963 -0.32139 0.38567 0.38302 0 0.6 0.27907 0.46985 -0.15391 0.17101 0.42286 0 1.1 0.20930 0.43301 0.275 -0.25 0.47631 0 1 0.25581 0.42133 0.25712 -0.35353 0.30642 0 0.7 0.20465 }
   
Tree_6 { 0.45881 -0.22565 0.07268 0.60187 -0.00177 0.31948 0.31 0.34268 0.37561 -0.20337 0.54642 -0.02210 0.32976 0.2 0.13582 0.50273 -0.31347 0.13846 -0.02004 0.21706 0.16 0.25326 -0.48975 0.30798 0.34989 -0.00740 0.19810 0.23 0.06641 0 0 0.47942 -0.01492 -0.02422 0.1 }

 

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

Представить свой вариант дерева.

program FracTree;

uses Graph, CRT;

procedure Tree(x, y: Integer; a: Real; l: Integer);

Var

x1, y1: Integer;

p, s: Integer;

i: Integer;

a1: Real;

Begin

if l<8 then exit;

x1:= Round(x + l*cos(a));

y1:= Round(y + l*sin(a));

if l > 100 then p:=100 else p:=l;

if p < 40 then begin

{Генерация листьев}

if Random > 0.5 then SetColor(10) else SetColor(2); {4, 14}

for i:=0 To 3 do Line(x+i, y, x1, y1)

End







Дата добавления: 2015-10-02; просмотров: 584. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия