Мои Конспекты
Главная | Обратная связь


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

Построение вероятностных изображений.



Рассмотрим пример построения листа папоротника. Заданное множество точек строится с помощью четырех преобразовании координат точек плоскости, каждое из которых применяется с определенной вероятностью. Преобразования задаются матрицей коэффициентов и вектором смещения вдоль оси y:

, вероятность рÎ(0,85;0,92];

, вероятность рÎ[0;0,85];

, вероятность рÎ(0,99;1];

, вероятность рÎ(0,92;0,99].

Program Paporotnik;

Uses Graph,Crt;

Const

iteration=500000;

Var

t,x,y,p :Real;

k :LongInt;

Driver,Mode,mid_x,mid_y,r :Integer;

Begin

Driver:=Detect;

InitGraph(Driver,Mode,'');

mid_x:=GetMaxX div 2;

mid_y:=GetMaxY;

r:=Trunc(0.1*mid_y);

Randomize;

x:=1.0;

y:=0.0;

For k:=1 to iteration do

Begin

p:=Random;

t:=x;

If p<=0.85 then

Begin

x:=0.85*x+0.04*y;

y:=-0.04*t+0.85*y+1.6;

End

Else

If p<=0.92 then

Begin

x:=0.2*x-0.26*y;

y:=0.23*t+0.22*y+1.6;

End

Else

If p<=0.99 then

Begin

x:=-0.15*x+0.28*y;

y:=0.26*t+0.24*y+0.44;

End

Else

Begin

x:=0.0;

y:=0.16*y;

end;

PutPixel(mid_x+Round(r*x),

mid_y-Round(r*y),LightGreen);

end;

ReadLn;

CloseGraph;

End.

 




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.