Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Построение вероятностных изображений
Рассмотрим пример построения листа папоротника. Заданное множество точек строится с помощью четырех преобразовании координат точек плоскости, каждое из которых применяется с определенной вероятностью. Преобразования задаются матрицей коэффициентов и вектором смещения вдоль оси 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.
Date: 2015-10-19; view: 245; Нарушение авторских прав |