Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Gramatyki Lindenmayera

Podobne prezentacje


Prezentacja na temat: "Gramatyki Lindenmayera"— Zapis prezentacji:

1 Gramatyki Lindenmayera
Grafika żółwia 3D Gramatyki kontekstowe

2 Grafika żółwia 3D Pozycję żółwia w trójwymiarowej przestrzeni wyznacza wektor zaś orientację wyznaczają wektory - kierunek głowy żółwia, - kierunek lewy, - kierunek na górę

3 Grafika żółwia 3D Obrót żółwia o kąt  dokoła wektorów , i opisuje się za pomocą trzech macierzy:

4 Grafika żółwia 3D Rozszerzony zbiór poleceń
Symbol Znaczenie Komendy sterujące ruchem żółwia F(l), G(l) Idź do przodu jeden krok o długości l, rysując jednocześnie linię f(l), g(l) Idź do przodu jeden krok o długości l ale bez rysowania linii @O(r) Rysuj sferę o promieniu r i środku w aktualnej pozycji wyznaczonej przez stan żółwia Komendy sterujące obrotami żółwia +() obróć się w lewo o kąt  dokoła osi . -() obróć się w prawo o kąt  dookoła osi . &() Pochyl się o kąt  dookoła osi . ^() Podnieś się o kąt  dookoła osi . /() Przewróć się na lewy bok o kąt  dookoła osi . \() Przewróć się na prawy bok o kąt  dookoła osi . | Obróć się o 180o dookoła osi , to samo można zrealizować za pomocą komend +(180) lub –(180)

5 Grafika żółwia 3D Rozszerzony zbiór poleceń
Komendy, używane podczas rysowania struktur z rozgałęzieniami ] Połóż na stosie aktualny stan położenia żółwia (pozycja, orientacja i atrybuty rysowania) [ Zdejmij ze stosu stan położenia żółwia i przesuń żółwia do pozycji z odczytanego stanu bez rysowania linii. Komendy zmieniające atrybuty rysowanej linii. #(w) Ustaw szerokość linii na wielkość w, jeśli zaś brak parametru zwiększ aktualną wartość szerokości linii o domyślną wielkość !(w) Ustaw szerokość linii na wielkość w ale jeśli brak parametru zmniejsz aktualną wartość szerokości linii przez domyślną wielkość ;(n) Ustaw indeks w palecie barw na n, jeśli jednak brak parametru zwiększ aktualną wartość indeksu o domyślną wielkość ,(n) Ustaw indeks w palecie barw na n, jeśli brakuje parametru to zmniejsz aktualną wartość indeksu o domyślną wielkość

6 Grafika żółwia 3D Przykład
Niech będzie dany następujący L-system rysujący formę krzaczastą. ω: -(90)F p: (0.5)FF[c+F]F[-F] p: (0.5)FF[c&F]F[^F] Wówczas pierwsze przepisania będą miały postać: 1: -(90)F[c+F]F[-F] 2: -(90)F[c&F]F[^F][c+F[c+F]F[-F]]F[c+F]F[-F][-F[c+F]F[-F]]

7 Grafika żółwia 3D Przykład
Piąte przepisanie. Generowane programem LMUSe. version 9

8 Grafika żółwia 3D Definicja formalna
Niech interpretacja grafiki żółwia będzie dana odwzorowaniem I:V*S ze zbioru V* słów nad alfabetem V w zbiór S, składający się z figur geometrycznych (zbioru punktów na płaszczyźnie lub w przestrzeni trójwymiarowej). Ponadto, niech T() reprezentuje zmiany w stanie żółwia (pozycja i orientacja) będące rezultatem interpretacji słowa V*. Wtedy dla rozkładu 12 słowa  takiego 1, 2 że nie zawierają nawiasów kwadratowych, zachodzi równanie: I(12 )=I(1)I(2)T(1) .

9 Grafika żółwia 3D Definicja formalna
Interpretacja grafiki żółwia słowa =12 jest formą (zbiorem punktów w dwu lub trzech wymiarach) równą sumie: interpretacji grafiki żółwia słowa 1 i interpretacji grafiki żółwia słowa 2, zastąpionego przez transformację T(1) ,będącej rezultatem interpretacji słowa 1

10 Gramatyki kontekstowe

11 Definicja – IL-systemy
IL-system definiuje się jako uporządkowaną trójkę . gdzie: V – to alfabet systemu, ω  V+, to niepuste słowo zwane aksjomatem, P  V  V* jest skończonym zbiorem produkcji (inaczej zbiorem reguł).

12 Produkcję (al,ap,a,)P oznacza się jako al < a > ap  , gdzie: al to lewy kontekst, a – poprzednik, ap - prawy kontekst zaś  to następnik. Jeśli nie ma zdefiniowanej żadnej produkcji dla danego poprzednika a V to wtedy przyjmuje się, że istnieje produkcja identyczności aa należąca do zbioru produkcji P.

13 Jeżeli IL-system posiada tylko jeden kontekst to możliwe są dwa rodzaje produkcji:
al < a   - z lewym kontekstem, a > ap   - z prawym kontekstem. Sposób wyprowadzania sekwencji z produkcji wygląda tak samo jak w przypadku DOL-systemów z tym, że teraz uwzględnia się odpowiednią liczbę kontekstów.

14 IL-system – Przykład 1 Niech dany będzie 1L-system generujący dźwięki,
, gdzie: V ={a,c,d,e,f,g,h}, ω: c g f c p1: c > g ca p2: f < c  ac p3 : c < a  e Efekt przepisań: ω: c g f c 1: c a g f a c 2: c e g f a c

15 IL-system – Przykład 2 Niech dany będzie 2L-system generujący dźwięki
gdzie: V ={a1,a2,c1,c2,d1,d2,e1,e2,f1,f2,g1,g2,h1,h2}, ω= c1 d1 e1 f1 g1 a1 h1 p1: c1 <d1> e1  c2 p2: f1 <g1 > a1  f2 p3 : c1 c2 < e1> f1  h1 Efekt przepisań: ω: c1 d1 e1 f1 g1 a1 h1 1: c1 c2 e1 f1 f2 a1 h1 2: c1 c2 h1 f1 f2 a1 h1

16 Literatura H.-O. Peitgen, H. J¨urgens, D. Saupe Granice Chaosu Fraktale cz.2, Wydawnictwa Naukowe PWN, Warszawa 1996; A. Lindenmayer, P. Prusinkiewicz, The Algorithmic Beauty of Plants”, Springer-Verlag, Elektroniczna wersja opublikowana w 2004

17 Literatura Prusinkiewicz P. (2004a) Self-Similarity In Plants: Integrating Mathematical And Biological Perspectives, w: Thinking in Patterns. Fractals and Related Phenomena in Nature, pod redakcją M. Novak, World Scientific, Singapore, strony

18 Literatura Martyn T. (1996), Fraktale i obiektowe algorytmy ich wizualizacji, Nakom, Poznań.


Pobierz ppt "Gramatyki Lindenmayera"

Podobne prezentacje


Reklamy Google