Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Fraktale im L-System


Bergmann89 - Mi 02.02.11 17:12
Titel: Fraktale im L-System
Hey,

ich hab mich heut ein bischen mit Fraktalen [http://de.wikipedia.org/wiki/Fraktale] beschäftigt und wollte ein Programm schreiben, das Fraktale darstellen kann, die im L-System [http://de.wikipedia.org/wiki/Lindenmayer-System] dargestellt sind. Das Problem ist nun, das ich irgendetwas übersehen haben muss. Die Koch-Flocke lässt sich zum Bsp wunderbar zeichnen:

Quelltext
1:
2:
F--F--F //Hauptfunktion
F -> F+F--F+F //Rekursionsfunktion


Aber zum Beispiel bei der Drachenkurve weiß ich nicht was die Hauptfunktion ist:

Quelltext
1:
2:
3:
F -> R oder F -> L
R -> +R--L+
L -> -R++L-

Könnte mir das vlt jmd nochmal erklären, wie die Bildungsvorschriften beim L-System sind?

MfG & Thx Bergmann.


elundril - Mi 02.02.11 18:01

Ich hab mal die wichtigen Teile fett hervorgehoben.

Zitat:

Einige Fraktale wie die Drachenkurve benötigen zwei Ersetzungsregeln, als variablen Teil des Alphabets wählt man z. B. V={R,L} und legt für dieses Beispiel ω=R und P={(R → +R--L+), (L → -R++L-)} fest. Beide Symbole werden in der Darstellung wie F behandelt, d. h. als zeichnenden Schritt nach vorn.


Also muss du beide Symbole ableiten. Falls die Frage ist mit welchem Symbol du Anfangen musst, du startest mit R im ersten Schritt. ;)

Dein Algorithmus muss also in den ersten 4 Schritten folgendes ausspucken:

Quelltext
1:
2:
3:
4:
R
+R--L+
++R--L+---R++L-+
+++R--L+---R++L-+---+R--L+++-R++L--+


lg elundril


Bergmann89 - Mi 02.02.11 22:39

Hey,

den Satz hab ich ganz überlesen :oops: Danke für den Hinweis, habs jetzt hin bekommen. Im Anhang die Resultate, wenns jemanden interessiert.

MfG Bergmann.


Fiete - Do 03.02.11 19:17

Moin Bergmann89,
schau mal hier nach:
http://www.delphi-forum.de/viewtopic.php?t=83598&highlight=fraktale
Gruß Fiete