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

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

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






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

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

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

 

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

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

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; просмотров: 562. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

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