130 likes | 320 Views
Gramatyki Lindenmayera. Gramatyki Lindenmayera. Inna nazwa to równolegle przepisujące systemu lub L-systemy, Twórcą jest biolog Aristid Lindenmayer, który w 1968 roku stworzył formalny sposób opisu wzrostu roślin.
E N D
Gramatyki Lindenmayera • Inna nazwa to równolegle przepisujące systemu lub L-systemy, • Twórcą jest biolog Aristid Lindenmayer, który w 1968 roku stworzył formalny sposób opisu wzrostu roślin. • Polegają na zamianie modułu zwanego rodzicem, matką lub przodkiem na moduł zwany dzieckiem, córką lub potomkiem.
Rodzaje L-systemów • D0L-system - deterministyczny, bezkontekstowy L-system, • D1L-system - deterministyczny, wrażliwy na kontekst L-system, • 0L-system - stochastyczny, bezkontekstowy L-system, • 1L-system - stochastyczny, z kontekstem jednostronnym L-system, • 2L-system - stochastyczny, z kontekstem dwustronnym (prawym i lewym) L-system, • parametryczny L-system, • zegarowy L-system (Timed L-system).
L-systemy jak to działa: • Przepisywanie zaczynamy od pojedynczego modułu zwanego aksjomatem, • W trakcie symulacji korzystamy z reguł przepisania, które w najprostszym przypadku mają postać: Poprzednik Następnik • Przepisanie polega znalezieniu reguły gdzie poprzednik pasuje do modułu matki i zastąpieniu tego modułu sekwencją z następnika.
D0L-system – opis formalny • D0L-system to uporządkowaną trójka G = (, P, ), gdzie = {s1, s2, . . . , sn} jest alfabetem, - aksjomatem oraz należy do zbioru *, który jest zbiorem wszystkich ciągów symboli z . • Przekształcenie przepisywania jest określone jako: P : *z s P(s) dla każdego s. • Każdemu symbolowi s odpowiada tylko jedna reguła przepisywania. • L-system generuje kolejne sekwencje: (0), (1), (2), . . .. Sekwencje (i+1) otrzymujemy • z poprzedniej (i) przez zastosowanie reguł podstawiania do wszystkich m symboli • 1(i), . . . , m(i)ciągu jednocześnie: • (i+1) = P(1(i))P(2(i) ) . . . P(m(i))
D0L-system – przykładAnabena Catenula - glon sinica • Reguły przepisania: • Sekwencja produkcji:
Grafika żółwia • Matematycznie można powiedzieć, ze żółwiowi przypisuje się stan który składa się z bieżącego położenia, oznaczonego para współrzędnych x i y oraz bieżącego kierunku, wyrażonego przez kat . Zapisuje się to jako trojkę liczb (x, y, ). Zmiana stanu żółwia następuje po każdym wykonaniu polecenia.
Grafika żółwia • Wykorzystującelementarne własności trygonometryczne zbiór poleceń dla żółwia można zapisać teraznastępująco:
Grafika żółwia • l – oznacza długość korku a to kąt o jaki żółw obraca się w prawo • Stan początkowy to (0, 0, 0) co oznacza, ze żółw skierowany jest w prawo i znajduje sięw początku bieżącego układu współrzędnych. Potrzebny będzie również czynnik redukcji do zmniejszania długości kroku w kolejnych przypisaniach.
Grafika żółwia – przykład • Zbiór Cantora: czynnik redukcji: 1/3, = 0, l= 400, • Aksjomat: F, • reguły przepisania: F->FfF f->fff • Produkcje: FfFfffFfFfffffffffFfFfffFfF
Zadanie • Stworzyć program z zastosowaniem L-systemów rysujący krzywą Peano • Krzywa Peano: czynnik redukcji: 1/3, = 90, l= 300, • Aksjomat: F, • reguły przepisania: F->FF+F+F+FF+F+F-F
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