• Nie Znaleziono Wyników

2014-04-03 JarosławPiersa Algorytmystochastyczne,wykład07Parametrycznesystemy

N/A
N/A
Protected

Academic year: 2021

Share "2014-04-03 JarosławPiersa Algorytmystochastyczne,wykład07Parametrycznesystemy"

Copied!
35
0
0

Pełen tekst

(1)

Algorytmy stochastyczne, wykład 07 Parametryczne systemy

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2014-04-03

(2)

Parametryczne LS

polecenia mogą przyjmować argumenty np:

F (10) — naprzód o 10 kroków

f (x ) — naprzód o x kroków bez rysowania linii

−(45) — obrót w prawo o 45 stopni

(3)

Przykłady

A(x , y ) → B(y ∗ p)A(x − 1, y )A(x , y − 1)

uwaga: symbole +, -, / stają się przeciążone i mogą oznaczać

obrót lub działanie zależnie od konktekstu w implementacji

bezpieczniej będzie zmienić oznaczenia obrotów

(4)

Przykłady

System z warunkami

A(x ) : x => 3 → B(1)A(x − 1)A(x − 1) A(x ) : x < 3 → C

Produkcje mogą być zależne od argumentu(ów)

(5)

Po co?

rozszerzenie funkcjonalności

modelowanie zmieniającej się wielkości

elementy programowania w opisie systemów

(6)

Dodatkowe instrukcje

! — zmiana grubości kreski (zwykle zmniejszenie), uwaga grubość powinna być zapisywana i odczytywana ze stosu podczas operacji ’[’ oraz ’]’

$ — zorientuj żółwia pionowo „do góry”

’ — zmiana koloru na następny w palecie (kora, liść, kwiaty)

(7)

Modelowanie drzew

Przepis na drzwo:

łodyga

rozgałęzienie (dwie odnogi z jednej łodygi) zmniejszenie grubości łodygi

zmniejszenie długości łodygi (jednej lub obu)

(8)

L-System — Drzewo 1

(9)

Przykład

Drzewo z jednym stożkiem wzrostu aksjomat s : A(1, 10)

Produkcje:

A(l , w ) : ∗ →!(w )F (l )[&(a 0 )B(l ∗ r 2 , w ∗ w r )]/(d )A(l ∗ r 1 , w ∗ w r )

B(l , w ) : ∗ →!(w )F (l )[−(a 2 )$C (l ∗ r 2 , w ∗ w r )]C (l ∗ r 1 , w ∗ w r )

C (l , w ) : ∗ →!(w )F (l )[+(a 2 )$B(l ∗ r 2 , w ∗ w r )]B(l ∗ r 1 , w ∗ w r )

r 1 , r 2 , w r , a 0 , a 2 , d — stałe

(10)

L-System — Drzewo 1

(11)

Przykład

Do parametrów można dodać mały szum

Parametryczny LS można uzyć do iterowania offsetu:

A(L, W ) : l > 5 → F (y )A(L − 1, W )

A(L, W ) : l <= 4 → F (x )[+A(L−1, W ∗0.8)][−A(L−1, W ∗0.9)]

można wydłużyć łodygę przed pierwszymi rozgałęzieniami

Inny pomysł: można zablokować liczbę rekurencyjnych

rozgałęzień

(12)

Przykład

Drzewo z rozwijające się w dwóch gałęziach aksjomat s : A(1, 10)

Produkcje:

A(l , w ) : ∗ →

!(w )F (l )[&(a 1 )B(l ∗ r 1 , w ∗ w r )]/(180)[&(a 2 )B(l ∗ r 2 , w ∗ w r )]

B(l , w ) : ∗ →

!(w )F (l )[+(a 1 )$B(l ∗ r 1 , w ∗ w r )][−(a 2 )$B(l ∗ r 2 , w ∗ w r )]

r 1 , r 2 , w r , a 0 , a 2 — stałe

(13)

L-System — Drzewo 2

(14)

Przykład

Drzewo z trzeba odnogami z łodygi aksjomat s : !(1)F (200)/(45)A Produkcje:

A : ∗ →

!(v r )F (50)[&(a)F (50)A]/(d 1 )[&(a)F (50)A]/(d 2 )[&(a)F (50)A]

F (l ) : ∗ → F (l ∗ l r )

!(w ) : ∗ →!(w ∗ v r )

l r , v r , a, d 1 , d 2 — stałe

(15)

L-System — Drzewo 3

(16)

Zig-zag

Łodyga w kształcie zygzaka

(17)

Zig-zag

Łodyga w kształcie zygzaka

A(α, l ) → F (l )[F (l ∗ 0.5)P(l )] + (α)A(−α, l ∗ 0.9)

(18)

Spiralne

Łodyga w kształcie spirali

(19)

Spirala

Łodyga w kształcie spirali

A(α, l ) → F (l )[F (l ∗ 0.5)P(l )][+(π/2)L(l )] + (α)A(α, l ∗ 0.9)

(20)

Podwójne

Łodyga w kształcie rozgałęziona

(21)

Podwójna

Rozgałęzienie A(α, l ) →

F (l )[F (l ∗ 0.5)P(l )][+(π/2)L(l )][−(π/2)L(l )][+(α)F (l ∗

0.9)A(α, l ∗ 0.9)][−(α)F (l ∗ 0.9)A(α, l ∗ 0.9)]

(22)

Zigzag

Wykorzystanie: zigzag

(23)

Łodyga

Zygzag

A(α, l , d ) : d = 0 → F (l )

A(α, l , d ) : d >= 1 → F (l )[+(α)Zigzag (d )]A(−α, l ∗ 0.9, d − 1)

(24)

Spiralna

Roślina: spiralna

(25)

Zigzag

Kwiaty rozgałęzione

(26)

Razem

Drzewo wraz z pędami

(27)

Ciekawostka: neuron w PovRay

(28)

Źródła

P. Prosiunkiewicz, A. Liendenmayer, The algorithmic beaty of

plants

(29)

Algorytm

Dane:

wysokość i szerokość obszaru wielkości 2 n , dla n ∈ N

zadana wartość na rogach obszaru (0, 0), (2 n , 0), (0, 2 n ), (2 n , 2 n ) Wynik:

mapa wysokości dla każdego punktu

(30)

Algorytm

dane: s x , k x , s y , k y — startowe i końcowe indeksy dla x i y jeżeli s x + 1 = k x , to zakończ (równoważnie zachodzi:

s y + 1 = k y )

przypisz środkowy x m x := s

x

+k 2

x

przypisz środkowy y m y := s

y

+k 2

y

ustal wartość dla środkowego punktu

T [m x , m y ] := T [s

x

,s

y

]+T [k

x

,s

y

]+T [s 4

x

,k

y

]+T [k

x

,k

y

] + N(0, σ 2 )

ustal wartość dla środków na brzegach (kont.)

(31)

Algorytm

ustal wartość dla środków na brzegach T [s x , m y ] := T [s

x

,s

y

]+T [s 2

x

,k

y

] + N(0, σ 2 ) T [k x , m y ] := T [k

x

,s

y

]+T [k 2

x

,k

y

] + N(0, σ 2 ) T [m x , s y ] := T [s

x

,s

y

]+T [k 2

x

,s

y

] + N(0, σ 2 ) T [m x , k y ] := T [s

x

,k

y

]+T [k 2

x

,k

y

] + N(0, σ 2 )

wywołaj rekurencyjnie algorytm dla powstałych czterech

mniejszych podobszarów

(32)

Przykłady

0 10 20 30

40 50 60 700

10 20

30 40

50 60

70

-5 0 5 10 15 20

0 10 20 30 40 50 60 70

0 10 20 30 40 50 60 -470 -2 0 2 4 6 8 10

(33)

Po pokolorowaniu i oświetleniu

(34)

Niebo i chmury

Mapa pokolorowana: biały → niebieski

(35)

Plazma

click

Cytaty

Powiązane dokumenty

• Equip the students with advanced conceptual and practical knowledge in (Object-Role Modeling) for data modeling and specification, also process modeling techniques and

Widać także rezultat założenia: ( ω 0 ) 2 = –1,0, co prowadzi do wystąpienia dwóch punktów, określających minima energii potencjalnej rozważanego układu (rys. Łatwo także

x ma zera na pozycjach gdzie schemat ma zera x ma jedynki na pozycjach gdzie schemat ma jedynki Innymi słowy: pokrywa się na symbolach ustalonych, może być dowolny gdy na pozycji

słowa Fibonacciego nie mają „sześcianów” (podciąg powtórzony trzy razy po

Konteksty mogą ignorować pewne symbole (np: +−)

(intuicyjnie) jakie jest prawdopodobieństwo, że zmienna przyjmuje ustaloną wartość np.. X

Model MARKAL (MARKet ALlocation) jest narzędziem wykorzystanym do programowania modeli rozwoju systemów energetycznych, ze szczególnym uwzględnieniem struktury

W celu realizacji zadañ prawi- d³owego funkcjonowania systemu energetycznego niezbêdnym elementem jest proces ci¹g³ej obserwacji i przewidywania zmian stanu systemu w