Movatterモバイル変換


[0]ホーム

URL:


Prijeđi na sadržaj
Wikipedija
Pretraga

L-sistem

Izvor: Wikipedija

L-sustav iliLindenmayerov sustav jeformalna gramatika koja je najpoznatija po primjeni u modeliranju rasta procesa razvojabiljaka, ali i za modeliranje morfologije raznih organizama. L-sustavi se mogu rabiti za generiranje samosličnih fraktala kao što susustavi iteriranih funkcija. L-sustave je uveo i razvio1968. mađarski teoretskibiolog ibotaničar saSveučilišta u Utrechtu,Aristid Lindenmayer (1925.–1989.).

Porijeklo

[uredi |uredi kod]
'Travke', generirano L-sustavom u 3D.

Kao biolog, Lindenmayer je radio sakvascem i nitastimgljivama te proučavao uzorke rasta raznih vrsta algi, kao što su modrozelene algeAnabaena catenula. Izvorno su L-sustavi izvedeni za pružanje formalnog opisa razvoja takvih jednostavnih višestaničnih organizama, kao i da bi se ilustrirali odnosi susjedstva među biljnim stanicama. Kasnije, ovaj je sustav proširen kako bi opisao više biljke i složene strukture grananja.

Struktura L-sustava

[uredi |uredi kod]

Rekurzivna priroda L-sustava vodi kasamosličnosti i stogafraktalnim oblicima koji se lako opisuju L-sustavom. Modeli biljaka i izgledom prirodnih organskih oblika se slično lako definiraju, a kako se dubina rekruzije povećava, oblik polako 'raste' i postaje složeniji. Lindemayerovi sustavi su također popularni u generiranjuumjetnog života.

Gramatike L-sustava su vrlo sličnesemi-Thue gramatici (vidiChomskyjevu hijerarhiju). L-sustavi su danas uobičajeno poznati kaoparametarski L sustavi definiranin-torkom:

G = {V,S, ω,P},

gdje je

  • V (abeceda) je skup simbola koji sadrže elemente koji mogu biti zamijenjeni (varijable)
  • S je skup simbola koji sadrže elemente koji ostaju fiksirani (konstante)
  • ω (početak,aksiom iliinicijator) je niz simbola izV koji definiraju inicijalno stanje sustava
  • P je skuppravila produkcija iliprodukcija koje definiraju način na koji varijable mogu biti zamijenjene konstantama i drugim varijablama. Produkcija se sastoji od dva stringa -prethodnika isljedbenika.

Pravila se gramatike L-sustava primjenjuju iterativno počinjući od inicijalnogstanja. Što je moguće više pravila se primjenjuje simultano, po iteraciji - ovo je istaknuto svojstvo koje L-sustav razlikuje odformalnog jezika generiranoggramatikom. Ako bi se produkcijska pravila primjenjivala tek jedan po jedan, stvorio bi se tek jezik, mjesto L-sustava. Stoga su L-sustavi strogi podskupovi jezika.

L-sustav jekontekstno neovisan ako se svako produkcijsko pravilo odnosi samo na pojedinačni simbol, ne i na njegove susjede. Kontekstno neovisni L-sustavi se toga specificiraju iliprefiksnom gramatikom iliregularnom gramatikom.

Ako pravilo ovisi ne samo o jednom simbolu već i o njegovim susjedima, tada je naslovljenkontekstno ovisnim L-sustavom.

Ako postoji točno jedna produkcija za svaki simbol, za L-sustav se kaže da jedeterministički (deterministički kontekstno neovisni L-sustav se popularno zoveDOL-sustav). Ako postoji nekoliko produkcija, i svaka je odabrana određenom vjerojatnošću pri svakoj iteraciji, tada se radi ostohastičkom L-sustavu.

Rabeći L-sustave za generiranje grafičkih slika zahtijeva da se simboli modela odnose na elemente slike računalnog zaslona. Primjerice, programFractInt (vidi vanjske poveznice dolje) koristiturtle grafiku (sličnu onoj uprogramskom jeziku Logo) za iscrtavanje slika na zaslonu. Interpretira svaku konstantu L-sustava kao naredbu zaturtle (trokutasti kursor na zaslonu).

Primjeri L-sustava

[uredi |uredi kod]

Primjer 1: Alge

[uredi |uredi kod]

Lindenmayerov izvorni L-sustav za modeliranje rastaalgi.

varijable : A B
konstante : nijedna
početak : 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
n = 7 : ABAABABAABAABABAABABAABAABABAABAAB

Primjer 2:Fibonaccijevi brojevi

[uredi |uredi kod]

Ako definiramo sljedeću jednostavnu gramatiku:

varijable : A B
konstante : nijedna
početak : A
pravila : (A → B), (B → AB)

tada ovaj L-sustav generira sljedeći 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 izračunamo duljnu svakog stringa, dobijemo poznatiFibonaccijev slijed brojeva:

1 1 2 3 5 8 13 21 34 55 89 ...

Za n>0, ako brojimok-tu poziciju od invarijantnog kraja stringa (lijevo u slučaju prvog primjera i desno u slučaju drugog primjera), vrijednost je određena time potpada li višekratnikzlatnog 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 prašina

[uredi |uredi kod]
varijable : A B
konstante : nijedna
početak : A {počinjući znak stringa}
pravila : (A → ABA), (B → BBB)

NekaA znači "crtaj naprijed" iB znači "pomakni naprijed".

Ovo generira poznatovCantorov fraktalni skup za realnu ravnu linijuR.

Primjer 4:Kochova krivulja

[uredi |uredi kod]

Varijanta Kochove krivulje koja koristi samo prave kutove.

varijable : F
konstante : + −
početak : F
pravila : (F → F+F−F−F+F)

Ovdje,F znači "crtaj naprijed",+ znači "zakreni ulijevo za 90°", i- znači "zakreni udesno za 90°"

n = 0:Kochov kvadrat - 0 iteracija

F

n = 1:Kochov kvadrat - 1 iteracija

F+F-F-F+F

n = 2:Kochov kvadrat - 2 iteracije

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:Kochov kvadrat - 3 iteracije

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-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+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+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

Primjer 5:Penroseova popločanja

[uredi |uredi kod]

Sljedeće su slike generirane L-sustavom. Srodne su i slične Penroseovim popločanjima, koje je izmislioRoger Penrose.

Kao L-sustav ova se popločanja zovuPenroseovi rombovi iPenroseove ploče. Gornje slike su generirane zan = 6 kao L-sustav.Ako pravilno položimo Penroseove ploče kao L-sustav, dobijemo sljedeće popločanje:

inače dobijemo uzorke koji ne pokrivaju u potpunosti beskonačnu površinu:

Primjer 6:Sierpinskijev trokut

[uredi |uredi kod]

Trokut Sierpińskog nacrtan koristeći L-sustav.

varijable : A B
konstante : + −
početak : A
pravila : (A → B−A−B),(B → A+B+A)
kut : 60º

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

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

Primjer 7:Zmajolika krivulja

[uredi |uredi kod]

Zmajolika krivulja nacrtana koristeći L-sustav.

varijable : X Y F
konstante : + −
početak : FX
pravila : (X → X+YF+),(Y → -FX-Y)
kut : 90º

Ovdje, F znači "crtaj naprijed", - znači "zakreni ulijevo za 90°", i + znači "zakreni udesno za 90°". X i Y ne odgovaraju nijednoj akciiji crtanja i korišteni su samo za upravljanje evolucijom krivulje.

Zmajolika krivulja zan = 10

Primjer 8: Fraktalna biljka

[uredi |uredi kod]
varijable : X F
konstante : + −
početak : X
pravila : (X → F-X+X]+F[+FX]-X),(F → FF)
kut : 25º

Ovdje, F znači "nacrtaj naprijed", - znači "zakreni ulijevo za 25º" i + znači "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 vraćaju izvršavanjem odgovarajućeg].

Fraktalna biljka zan = 6

Primjer 9: Modificirani Kochov L-sustav

[uredi |uredi kod]

Fraktalna figura nacrtana uvođenjem periodičke promjene predznaka kuta u iteraciji običnog L-sustavaKochove krivulje.

Otvoreni problemi

[uredi |uredi kod]

Postoje mnogi otvoreni problemi koji uključuju proučavanje L-sustava. Na primjer:

  • Karakterizacija svih determinističkih kontekstno neovisnih L-sustava koji su lokalno nadovezivi (potpuno je rješenje poznato samo u slučaju dvije varijable).
  • Za danu strukturu, pronađi L-sustav koji je producira.

Vrste L-sustava

[uredi |uredi kod]

L-sustavi narealnoj linijiR:

Dobro poznati L-sustavi na ravniniR2 su:

Knjige

[uredi |uredi kod]

Povezano

[uredi |uredi kod]
L-sistem naWikimedijinoj ostavi

Vanjske veze

[uredi |uredi kod]
Izvor:https://sh.wikipedia.org/w/index.php?title=L-sistem&oldid=42446686
Kategorije:
Sakrivena kategorija:

[8]ページ先頭

©2009-2025 Movatter.jp