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

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

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






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

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

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

 

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

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

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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

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

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