Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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)FF[c+F]F[-F] p: (0.5)FF[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 12 słowa takiego 1, 2 że nie zawierają nawiasów kwadratowych, zachodzi równanie: I(12 )=I(1)I(2)T(1) .
9
Grafika żółwia 3D Definicja formalna
Interpretacja grafiki żółwia słowa =12 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 aa 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ń.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.