You are on page 1of 10

04. 06. 2013.

L-sustav - Wikipedija

L-sustav
Izvor: Wikipedija L-sustav ili Lindenmayerov sustav je formalna gramatika koja je najpoznatija po primjeni u modeliranju rasta procesa razvoja biljaka, ali i za modeliranje morfologije raznih organizama. L-sustavi se mogu rabiti za generiranje samoslinih fraktala kao to su sustavi iteriranih funkcija. L-sustave je uveo i razvio 1968. maarski teoretski biolog i botaniar sa Sveuilita u Utrechtu, Aristid Lindenmayer (1925.1989.).

Sadraj
1 Porijeklo 2 Struktura L-sustava 3 Primjeri L-sustava 3.1 Primjer 1: Alge 3.2 Primjer 2: Fibonaccijevi brojevi 3.3 Primjer 3: Cantorova praina 3.4 Primjer 4: Kochova krivulja 3.5 Primjer 5: Penroseova poploanja 3.6 Primjer 6: Sierpinskijev trokut 3.7 Primjer 7: Zmajolika krivulja 3.8 Primjer 8: Fraktalna biljka 3.9 Primjer 9: Modificirani Kochov L-sustav 4 Otvoreni problemi 5 Vrste L-sustava 6 Knjige 7 Vidjeti takoer 8 Vanjske poveznice

Porijeklo
Kao biolog, Lindenmayer je radio sa kvascem i nitastim gljivama te prouavao uzorke rasta raznih vrsta algi, kao to su modrozelene alge Anabaena catenula. Izvorno su L-sustavi izvedeni za pruanje formalnog opisa razvoja takvih jednostavnih viestaninih organizama, kao i da bi se ilustrirali odnosi susjedstva meu biljnim stanicama. Kasnije, ovaj je sustav proiren kako bi opisao vie biljke i sloene strukture grananja.

Struktura L-sustava

'Travke', generirano L-sustavom u 3D.

Rekurzivna priroda L-sustava vodi ka samoslinosti i stoga fraktalnim oblicima koji se lako opisuju L-sustavom. Modeli biljaka i izgledom prirodnih organskih oblika se slino lako definiraju, a kako se dubina rekruzije poveava, oblik polako 'raste' i postaje sloeniji. Lindemayerovi sustavi su takoer popularni u generiranju umjetnog ivota.
hr.wikipedia.org/wiki/L-sustav 1/10

04. 06. 2013.

L-sustav - Wikipedija

Gramatike L-sustava su vrlo sline semi-Thue gramatici (vidi Chomskyjevu hijerarhiju). L-sustavi su danas uobiajeno poznati kao parametarski L sustavi definirani n-torkom: G = {V, S, , P}, gdje je V (abeceda) je skup simbola koji sadre elemente koji mogu biti zamijenjeni (varijable) S je skup simbola koji sadre elemente koji ostaju fiksirani (konstante) (poetak , aksiom ili inicijator) je niz simbola iz V koji definiraju inicijalno stanje sustava P je skup pravila produkcija ili produkcija koje definiraju nain na koji varijable mogu biti zamijenjene konstantama i drugim varijablama. Produkcija se sastoji od dva stringa - prethodnika i sljedbenika. Pravila se gramatike L-sustava primjenjuju iterativno poinjui od inicijalnog stanja. to je mogue vie pravila se primjenjuje simultano, po iteraciji - ovo je istaknuto svojstvo koje L-sustav razlikuje od formalnog jezika generiranog gramatikom. Ako bi se produkcijska pravila primjenjivala tek jedan po jedan, stvorio bi se tek jezik, mjesto Lsustava. Stoga su L-sustavi strogi podskupovi jezika. L-sustav je kontekstno neovisan ako se svako produkcijsko pravilo odnosi samo na pojedinani simbol, ne i na njegove susjede. Kontekstno neovisni L-sustavi se toga specificiraju ili prefiksnom gramatikom ili regularnom gramatikom. Ako pravilo ovisi ne samo o jednom simbolu ve i o njegovim susjedima, tada je naslovljen kontekstno ovisnim Lsustavom. Ako postoji tono jedna produkcija za svaki simbol, za L-sustav se kae da je deterministiki (deterministiki kontekstno neovisni L-sustav se popularno zove DOL-sustav ). Ako postoji nekoliko produkcija, i svaka je odabrana odreenom vjerojatnou pri svakoj iteraciji, tada se radi o stohastikom L-sustavu. Rabei L-sustave za generiranje grafikih slika zahtijeva da se simboli modela odnose na elemente slike raunalnog zaslona. Primjerice, program FractInt (vidi vanjske poveznice dolje) koristi turtle grafiku (slinu onoj u programskom jeziku Logo) za iscrtavanje slika na zaslonu. Interpretira svaku konstantu L-sustava kao naredbu za tzv. turtle (trokutasti kursor na zaslonu).

Primjeri L-sustava
Primjer 1: Alge
Lindenmayerov izvorni L-sustav za modeliranje rasta algi. varijable : A B konstante : nijedna poetak : A pravila : (A AB), (B A) to pak generira: n = 0 :A n = 1 : AB n = 2 : ABA n = 3 : ABAAB n = 4 : ABAABABA n = 5 : ABAABABAABAAB n = 6 : ABAABABAABAABABAABABA
hr.wikipedia.org/wiki/L-sustav 2/10

04. 06. 2013.

L-sustav - Wikipedija

n = 7 : ABAABABAABAABABAABABAABAABABAABAAB

Primjer 2: Fibonaccijevi brojevi


Ako definiramo sljedeu jednostavnu gramatiku: varijable : A B konstante : nijedna poetak : A pravila : (A B), (B AB) tada ovaj L-sustav generira sljedei slijed stringova: n = 0 :A n = 1 :B n = 2 : AB n = 3 : BAB n = 4 : ABBAB n = 5 : BABABBAB n = 6 : ABBABBABABBAB n = 7 : BABABBABABBABBABABBAB Ovo su zrcalne slike stringova prvog primjera, sa zamijenjenim A i B. Jo jednom, svaki je string nadovezivanje prethodna dva, ali u obrnutom redoslijedu. U bilo kojem od primjera, ako izraunamo duljnu svakog stringa, dobijemo poznati Fibonaccijev slijed brojeva: 1 1 2 3 5 8 13 21 34 55 89 ... Za n>0, ako brojimo k -tu poziciju od invarijantnog kraja stringa (lijevo u sluaju prvog primjera i desno u sluaju drugog primjera), vrijednost je odreena time potpada li viekratnik zlatnog reza unutar intervala (k-1,k). Omjer A i B stoga konvergira ka zlatnom rezu. Ovaj primjer daje isti rezultat (u terminima duljine svakog od stringova, ne u slijedovima simbola A i B) ukoliko je pravilo (B AB) zamijenjeno pravilom (B BA).

Primjer 3: Cantorova praina


varijable : A B konstante : nijedna poetak : A {poinjui znak stringa} pravila : (A ABA), (B BBB) Neka A znai "crtaj naprijed" i B znai "pomakni naprijed". Ovo generira poznatov Cantorov fraktalni skup za realnu ravnu liniju R.

Primjer 4: Kochova krivulja


Varijanta Kochove krivulje koja koristi samo prave kutove. varijable : F
hr.wikipedia.org/wiki/L-sustav 3/10

04. 06. 2013.

L-sustav - Wikipedija

konstante : + poetak : F pravila : (F F+FFF+F) Ovdje, F znai "crtaj naprijed", + znai "zakreni ulijevo za 90", i - znai "zakreni udesno za 90" n = 0: F n = 1: F+F-F-F+F n = 2: F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F

n = 3:

F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F+ F+F-F-F+F+F+F-FF+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F-F+F-F+F-F-F+FF+F-F-F+F+F+F-F-F+F- F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-FF+F+ F+F-F-F+F+F+F-F-F+F-F+F-F-F+F-F+F-F-F+F+F+F-F-F+F

Primjer 5: Penroseova poploanja


Sljedee su slike generirane L-sustavom. Srodne su i sline Penroseovim poploanjima, koje je izmislio Roger Penrose.

hr.wikipedia.org/wiki/L-sustav

4/10

04. 06. 2013.

L-sustav - Wikipedija

Kao L-sustav ova se poploanja zovu Penroseovi rombovi i Penroseove ploe. Gornje slike su generirane za n = 6 kao L-sustav. Ako pravilno poloimo Penroseove ploe kao L-sustav, dobijemo sljedee poploanje:

hr.wikipedia.org/wiki/L-sustav

5/10

04. 06. 2013.

L-sustav - Wikipedija

inae dobijemo uzorke koji ne pokrivaju u potpunosti beskonanu povrinu:

Primjer 6: Sierpinskijev trokut


Trokut Sierpiskog nacrtan koristei L-sustav. varijable : A B konstante : + poetak : A pravila : (A BAB),(B A+B+A) kut : 60
hr.wikipedia.org/wiki/L-sustav 6/10

04. 06. 2013.

L-sustav - Wikipedija

Ovdje, A i B znai "crtaj naprijed", + znai "zakreni ulijevo kutom", i - znai "zakreni udesno kutom". Kut mijenja predznak svake iteracije tako da su baze trokutastih oblika uvijek na dnu (inae bi bile na dnu i vrhu naizmjenice).

Evolucija za n = 2, n = 4, n = 6, n = 9

Primjer 7: Zmajolika krivulja


Zmajolika krivulja nacrtana koristei L-sustav. varijable : X Y F konstante : + poetak : FX pravila : (X X+YF+),(Y -FX-Y) kut : 90 Ovdje, F znai "crtaj naprijed", - znai "zakreni ulijevo za 90", i + znai "zakreni udesno za 90". X i Y ne odgovaraju nijednoj akciiji crtanja i koriteni su samo za upravljanje evolucijom krivulje.

hr.wikipedia.org/wiki/L-sustav

7/10

04. 06. 2013.

L-sustav - Wikipedija

Zmajolika krivulja za n = 10

Primjer 8: Fraktalna biljka


varijable : X F konstante : + poetak : X pravila : (X F-X+X]+F[+FX]-X),(F FF) kut : 25 Ovdje, F znai "nacrtaj naprijed", - znai "zakreni ulijevo za 25" i + znai "zakreni udesno za 25". X ne odgovara nijednoj akciji crtanja i rabi se za upravljanje evolucijom krivulje. [ odgovara spremanju trenutnih vrijednosti za poziciju i kut, koje se vraaju izvravanjem odgovarajueg ].

Fraktalna biljka za n = 6

Primjer 9: Modificirani Kochov L-sustav


Fraktalna figura nacrtana uvoenjem periodike promjene predznaka kuta u iteraciji obinog L-sustava Kochove krivulje.

hr.wikipedia.org/wiki/L-sustav

8/10

04. 06. 2013.

L-sustav - Wikipedija

Otvoreni problemi
Postoje mnogi otvoreni problemi koji ukljuuju prouavanje L-sustava. Na primjer: Karakterizacija svih deterministikih kontekstno neovisnih L-sustava koji su lokalno nadovezivi (potpuno je rjeenje poznato samo u sluaju dvije varijable). Za danu strukturu, pronai L-sustav koji je producira.

Vrste L-sustava
L-sustavi na realnoj liniji R: Prouhet-Thue-Morse sustav Dobro poznati L-sustavi na ravnini R2 su: prostorno popunjue krivulje, (Hilbertova krivulja, Peanova krivulja, Dekkingova crkva, kolami), medijan prostorno popunjue krivulje (Lvyjeva C krivulja, Harter-Heighway zmajolika krivulja, Davis-Knuth terdragon), poploanja (sfingino poploanje, Penroseovo poploanje), stabla, biljke i slino.

Knjige
Przemyslaw Prusinkiewicz - The Algorithmic Beauty of Plants besplatno dostupna PDF verzija (http://algorithmicbotany.org/papers/#abop)

Vidjeti takoer
Graftal Fraktal Sustav iterirane funkcije Hilbertova krivulja Prepisivanje stringa
hr.wikipedia.org/wiki/L-sustav 9/10

04. 06. 2013.

L-sustav - Wikipedija

Vanjske poveznice
David J. Wrightov lanak o L-sustavima (http://www.math.okstate.edu/mathdept/dynamics/lecnotes/node12.html#SECTION00040000000000000000) Algoritamska botanika na Sveuilitu Calgary (http://algorithmicbotany.org/) Fractint L-System True Fractals (http://spanky.triumf.ca/www/fractint/lsys/truefractal.html) "An introduction to Lindenmayer systems", by Gabriela Ochoa (http://www.biologie.uni-hamburg.de/bonline/e28_3/lsys.html). Brief description of L-systems and how the strings they generate can be interpreted by computer. "powerPlant" an open-source landscape modelling software (http://sourceforge.net/projects/pplant/) "Branching: L-system Tree" using Java applet (http://www.mizuno.org/applet/branching/) Fractint home page (http://spanky.triumf.ca/www/fractint/fractint.html) L-Systems in Architecture (http://www.mh-portfolio.com/lsystems.html) A simple L-systems generator (Windows) (http://www.generation5.org/content/2002/lse.asp) Lyndyhop: another simple L-systems generator (Windows & Mac) (http://www.lab4web.com/chelmiger/lyndyhop/) An evolutionary L-systems generator (anyos*) (http://www.cs.ucl.ac.uk/staff/W.Langdon/pfeiffer.html) L-systems gallery a tribute to Fractint (http://fractint.oblivion.cz./) "LsystemComposition" (http://www.pawfal.org/index.php?page=LsystemComposition). Page at Pawfal ("poor artists working for a living") about using L-systems and genetic algorithms to generate music. eXtended L-Systems (XL), Relational Growth Grammars, and open-source software platform GroIMP. (http://www.grogra.de/) A JAVA applet with many fractal figures generated by L-systems. (http://tocampos.planetaclix.pt/fractal/plantae.htm) Another L-system applet, supporting programming, with explanation and examples. (http://uk.geocities.com/joelewisbowen/lsystem.html) L-systems in Architecture; genetic housing. (http://www.arch.columbia.edu/Students/Fall2003/Cheng.ChihWei/) L-systems in Plant Growth,Simulation and Visualization (PlantVR). (http://www.somporn.net/) Musical L-systems: Theory and applications about using L-systems to generate musical structures, from waveforms to macro-forms. (http://www.koncon.nl/public_site/220/Sononieuw/NL/thesispdf/Stelios%20Manousakis-Musical%20L-systems.pdf) LSys/JS (http://lsysjs.qwert.ch/) - Interactive L-System interpreter using the Canvas HTML element. Lindenmayer System for plant visualisation (Java Applet) (http://www.qwerkop.de/qwerkop-projectslsystem.php/). Fractal Grower: Free Java paper folding L-System intended for elementary and middle school students. (http://cs.unm.edu/~joel/PaperFoldingFractal/paper.html) Programmatic animations in actionscript showing various L-systems. (http://www.cove.org/default.aspx? id=1&sid=3&mid=2) Dobavljeno iz "http://hr.wikipedia.org/w/index.php?title=L-sustav&oldid=3939180" Kategorije: Formalni jezici Fraktali Datum zadnje promjene na ovoj stranici: 00:44, 12. oujka 2013. Tekst je dostupan pod licencijom Creative Commons Imenovanje/Dijeli pod istim uvjetima; dodatni uvjeti se mogu primjenjivati. Pogledajte Uvjete koritenja za detalje.

hr.wikipedia.org/wiki/L-sustav

10/10

You might also like