• Nie Znaleziono Wyników

Algorytmy stochastyczne — laboratorium 07 Jarosław Piersa

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy stochastyczne — laboratorium 07 Jarosław Piersa"

Copied!
2
0
0

Pełen tekst

(1)

Algorytmy stochastyczne — laboratorium 07

Jarosław Piersa

2014-04-04

1 Krajobraz fraktalny

1.1 Ćwiczenia do przemyślenia na zajęciach

Z moodle pobierz archiwum ze źródłami

• popraw bug, który powoduje, że wartości na wspólnych krawędziach są liczone podwójnie (w funkcji recFill())

• dodaj inicjowanie mapy wartościami w wybranych punktach (w matlabie indeksowania są od 1 zatem będą to pozycje 2k+ 1, może też wymagać modyfikacji funkcji recFill())

• poszukaj dokumentacji do funkcji surfl() (a surf() + lighting), zmień wyśiwetlanie powierzchni na powierzchnię oświetloną (plasma())

• dopisz rozmycie liniowe / gaussowskie do mapy wysokości

• poszukaj dokumentacji do mapy kolorów powierzchni (colormap()); w pętli T = 1:100 cyklicznie przesuwaj mapę kolorów o jeden element aby uzyskać efekt plazmy

f u n c t i o n z = sdf ( n ) w = 2^ n +1;

z = z e r o s( w , w );

z (1 ,1) = r a n d n(); z (1 , w ) = r a n d n(); z ( w ,1) = r a n d n(); z ( w , w ) = r a n d n();

z = r e c F i l l 1 ( z , 1 , w , 1 , w );

f i g u r e( 1 ) ; h o l d off ;

s u r f(1: w , 1: w , z );

% m e s h (1: w , 1: w , z );

c o l o r m a p(b o n e);

end

f u n c t i o n Z1 = r e c F i l l ( Z , fromX , toX , fromY , toY ) if ( toX - f r o m X == 1)

Z1 = Z ; r e t u r n end

s c a l = 0 . 0 2 5 ;

% s q u a r e s t e p

m i d X = ( f r o m X + toX ) / 2;

m i d Y = ( f r o m Y + toY ) / 2;

s = Z ( fromX , f r o m Y ) + Z ( toX , f r o m Y ) + Z ( fromX , toY ) + Z ( toX , toY );

Z ( midX , m i d Y ) = .25 * s + r a n d n() * ( toX - f r o m X ) * s c a l ;

% d i a m o d s t e p

Z ( fromX , m i d Y ) = .5 * ( Z ( fromX , f r o m Y ) + Z ( fromX , toY )) + r a n d n() * .5 *( toX - f r o m X ) * s c a l ;

Z ( toX , m i d Y ) = .5 * ( Z ( toX , f r o m Y ) + Z ( toX , toY )) + r a n d n() * .5 * ( toX - f r o m X ) * s c a l ;

Z ( midX , f r o m Y ) = .5 * ( Z ( fromX , f r o m Y ) + Z ( toX , f r o m Y )) + r a n d n() * .5 *( toX - f r o m X ) * s c a l ;

1

(2)

Z ( midX , toY ) = .5 * ( Z ( fromX , toY ) + Z ( toX , toY )) + r a n d n() * .5 * ( toX - f r o m X ) * s c a l ;

Z = r e c F i l l ( Z , fromX , midX , fromY , m i d Y );

Z = r e c F i l l ( Z , midX , toX , fromY , m i d Y );

Z = r e c F i l l ( Z , fromX , midX , midY , toY );

Z = r e c F i l l ( Z , midX , toX , midY , toY );

Z1 = Z ; end

f u n c t i o n p l a s m a 1 ()

% in c a s e of p r o b l e m s d e c r e a s e n n = 7;

x = 1 : ( 2 ^ n + 1 ) ; z = sdf ( n );

% m e s h ( x , x , z );

s u r f( x , x , z ,’ E d g e C o l o r ’,’ n o n e ’,’ L i n e S t y l e ’,’ n o n e ’,

’ F a c e C o l o r ’,’ i n t e r p ’, ’ F a c e L i g h t i n g ’,’ p h o n g ’);

v i e w(0 , 9 0 ) ; % azimuth , e l e v a t i o n

% p r e d e f i n e d c o l o r m a p s :

% map = w i n t e r ( 3 0 ) ;

% map = b o n e ( 3 0 ) ;

% map = a u t u m n ( 3 0 ) ;

% map = s u m m e r ( 3 0 ) ;

% map = s p r i n g ( 3 0 ) ;

map = o c e a n ( 3 0 ) ; % my f a v o u r i t e :)

% map = hot ( 3 0 ) ;

% map = c o p p e r ( 3 0 ) ;

% map = jet ( 3 0 ) ;

% map = hsv ( 3 0 ) ; % C A R E F U L !! t h i s one can c a u s e e p i l e p s y !!

% map = c o o l ( 3 0 ) ;

% map = p i n k ( 3 0 ) ;

% map = o c e a n ( 1 0 0 ) ( 7 0 : 1 0 0 , : ) ; c o l o r m a p( map );

g r i d(" off ");

a x i s(" off ");

f l a g P r i n t = f a l s e ; if f l a g P r i n t

t =s p r i n t f(’ ./ f i g _ %04 d . png ’, 0);

p r i n t( t , ’ - d p n g ’);

u s l e e p ( 1 0 0 0 ) ; end

end

2

Cytaty

Powiązane dokumenty

Jedna osoba edytuje plik tekstowy w środowisku Lixuxowym druga — Windowsowym.. Czy nadal można

• rozszerz polecenie, aby usuwało również komentarze wieloliniowe – wskazówka: złam linię przed rozpoczęciem każdego komentarza – złam linię po zamknięciu komentarza. –

• jeżeli locale jest ustawione na PL pl to domyślnym separatorem dziesiętnym będzie przecinek — niezrozumiały dla awka, taki plik należy uprzednio przetworzyć (np sedem

Skrypt może zadawać pytania „Czy Twoja liczba to X?”, „Czy Twoja liczba jest większa od X?”, „Czy Twoja liczba jest mniejsza od

Napisz skrypt w perlu, który będzie prostym (by nie rzec: prymitywnym) tłumaczem tekstu z języka polskiego na angielski (lub w drugą stronę, wybór języka jest dowolny, ale

Przeprowadź kilka (maksymalnie 3) kroków algorytmu uczącego (może być SPLA).. • (**) Zapoznaj się z modelem biologicznym

Ponadto sprawdzający nie daje żadnych punktów startowych, dodatnich ani ujemnych (czyt.. Izhikevich Dynamical Systems in Neuroscience, 2007

funkcja / metoda to string(...) (format wy- niku wg uznania programisty, może zawierać np. rozmiar listy, wypis pewnej liczby elementów początkowych / końcowych, opcjonalnie adres