Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Kochova snehová vločka - začíname
Kombinácia ostrovov a jazier - parametre sekcie View
Dračia krivka
Vetviace sa štruktúry - svet rastlín
Stochastické L-systémy
Kontextovo závislé L-systémy
Parametrické L-systémy



Ostatné kapitoly
Lindenmayerove systémy
Modelovanie ekosystémov
Dawkinsove biomorfy
Reakčno-difúzne modely
Difúzne ohraničené zhlukovanie
Voronoiove diagramy
Časticové systémy
Fibbonaciho čísla a zlatý rez


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Dračia krivka

V predošlých príkladoch sme pracovali s pomerne jednoduchými L-systémami. Aj keď tzv. dračia krivka nepatrí k tým najzložitejším, oproti prvým dvom príkladom tu budú vystupovať dve prepisovacie pravidlá. Po otvorení nového projektu, zadajte nasledujúci L-systém.

lsystem: 0
derivation length: 12
axiom: FL
L --> L+RF+
R--> -FL-R
endlsystem

a v sekcii View, je nutné definovať aspoň špecifický uhol angle increment : 90, a spustite simuláciu.

vygenerovaná dračia krivka po dvanástich derivačných krokoch

Poďme sa teraz pozrieť na tento L-systém bližšie. Dračia krivka pozostáva z dvoch typov hrán, a to povedzme "pravej" a "ľavej". Týmto hranám prislúchajú dva samostatné symboly, označme ich FL a FR, potom bude L-systém vyzerať následovne.

axiom: FL
p1 : FL --> FL + FR+
p2 : FR --> -FL-FR

A pravidlá budú interpretované následovne.

predchádzajúci L-systém je možné zjednodušiť. L-studio, resp. cpfg, bude pri interpretácii ignorovať symboly L a R, no to nebráni tomu, aby nemohli byť nahradzované patričným výrazom. Malou úpravou potom dostávame:

axiom: FL
p1 : L --> L + RF+
p2 : R --> -FL-R

čo už je L-systém použitý v úvode pre generovanie dračej krivky. Pre názornosť produkcie ešte uvediem, 1, 2, 4 a 8 iteráciu.

dračia krivka s derivation length: 2
dračia krivka s derivation length: 4
dračia krivka s derivation length: 6
dračia krivka s derivation length: 8

Hore
Kontakt: Marek Bundzel