Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Struktur-Funktions-Modelle von Pflanzen

Ähnliche Präsentationen


Präsentation zum Thema: "Struktur-Funktions-Modelle von Pflanzen"—  Präsentation transkript:

1 Struktur-Funktions-Modelle von Pflanzen
- Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik 4. Vorlesung:

2 letztes Mal: Laden von dtd-Dateien und erste Analysen in GroIMP
Programmierparadigmen (imperativ, objektorientiert, regelbasiert) Turtle-Geometrie deren Ausführung mit GroIMP

3 heute: weitere Ergänzungen zur Turtle-Geometrie
einfache L-Systeme (Zeichenketten-Ersetzungssysteme) ihre Ausführung mit GroIMP einfache Verzweigungsmuster, modelliert mit L-Systemen

4 Beispiel: Zeichnen eines Dreiecks
protected void init() [ Axiom ==> RU(30) F(10) RU(120) F(10) RU(120) F(10) ] siehe Datei sm09_b01.rgg

5 Beispiel: L(100) D(3) RU(-90) F(50) RU(90) M0 RU(90) D(10) F0 F0 D(3) RU(90) F0 F0 RU(90) F(150) RU(90) F(140) RU(90) M(30) F(30) M(30) F(30) RU(120) M0 Sphere(15) erzeugt

6 was ist das Ergebnis der Interpretation der Zeichenkette
L(10) F0 RU(45) F0 RU(45) LMul(0.5) F0 M0 F0 ?

7 Wiederholung von Abschnitten der Zeichenkette
möglich mit "for" z.B. for ((1:3)) ( A B C ) liefert A B C A B C A B C

8 was ist das Ergebnis der Interpretation von
L(10) for ((1:6)) ( F0 RU(90) LMul(0.8) ) ?

9 L(10) for ((1:6)) ( F0 RU(90) LMul(0.8) )

10

11

12

13

14

15

16

17 anderes Beispiel: for ((1:20)) ( for ((1:36))
( F0 RU(165) F0 RU(165) ) RU(270) )

18 anderes Beispiel: for ((1:20)) ( for ((1:36))
( F0 RU(165) F0 RU(165) ) RU(270) )

19 Erweiterung auf 3D-Grafik:
Turtle-Rotationen um 3 Achsen

20 Erweiterung auf 3D-Grafik: Turtle-Rotationen um 3 Achsen
left head up

21 Erweiterung auf 3D-Grafik: Turtle-Rotationen um 3 Achsen
left head up

22 Erweiterung auf 3D-Grafik:
Turtle-Rotationen um 3 Achsen RL RH RU

23 3D-Befehle: RU(45) Drehung der turtle um die "up"-Achse um 45° RL(...), RH(...) analog um "left" und "head"-Achse up-, left- und head-Achse bilden ein rechtwinkliges, räumliches Koordinatensystem, das von der turtle mitgeführt wird RV(x) Rotation "nach unten" mit durch x vorgegebener Stärke RG Rotation ganz nach unten (Richtung (0, 0, -1))

24

25 Verzweigungen: Realisierung mit Speicher-Befehlen [ lege aktuellen Zustand auf Speicher ("Ablage", Stack) ] nimm obersten Zustand von der Ablage und mache diesen zum aktuellen Zustand (damit: Ende der Verzweigung)

26 Verzweigungen: Realisierung mit Speicher-Befehlen [ lege aktuellen Zustand auf Speicher ("Ablage", Stack) ] nimm obersten Zustand von der Ablage und mache diesen zum aktuellen Zustand (damit: Ende der Verzweigung) F0 [ RU(-40) F0 ] RU(20) DMul(2) F0

27 Verzweigungen: Realisierung mit Speicher-Befehlen [ lege aktuellen Zustand auf Speicher ("Ablage", Stack) ] nimm obersten Zustand von der Ablage und mache diesen zum aktuellen Zustand (damit: Ende der Verzweigung) F0 [ RU(-40) F0 ] RU(20) DMul(2) F0

28 Mit welchen Turtle-Befehlsfolgen erzeugt man die folgenden Strukturen ?

29 Dynamische Strukturbeschreibung
L-Systeme (Lindenmayer-Systeme) Regelsysteme zur Ersetzung von Zeichenketten in jedem Ableitungsschritt parallele Ersetzung aller Zeichen, auf die eine Regel anwendbar ist von A. Lindenmayer (Botaniker) 1968 zur Modellierung des Wachstums von fadenförmigen Algen eingeführt Aristid Lindenmayer ( )

30 L-Systeme mathematisch:
Ein L-System ist ein Tripel (, , R); darin ist: eine Menge von Zeichen, das Alphabet, eine Zeichenkette mit Zeichen aus , das Startwort (auch "Axiom"), R eine Menge von Regeln der Form Zeichen  Zeichenkette; darin sind das Zeichen auf der linken Regelseite und die Zeichenkette aus  entnommen.

31 zum Vergleich: Grammatik für natürliche Sprache:
Satz  S P O S  Max S  Tina P  lernt O  Englisch O  Französisch mögliche Ableitungen: Satz Satz S P O S P O Max lernt Französisch Tina lernt Englisch

32 Ein Ableitungsschritt (rewriting) einer Zeichenkette besteht aus der Ersetzung aller ihrer Zeichen, die in linken Regelseiten vorkommen, durch die entsprechenden rechten Regelseiten. Man vereinbart: Zeichen, auf die keine Regeln anwendbar sind, werden unverändert übernommen.

33 Ein Ableitungsschritt (rewriting) einer Zeichenkette besteht aus der Ersetzung aller ihrer Zeichen, die in linken Regelseiten vorkommen, durch die entsprechenden rechten Regelseiten. Man vereinbart: Zeichen, auf die keine Regeln anwendbar sind, werden unverändert übernommen. Ergebnis: Ableitungskette von Zeichenketten, die sich durch wiederholte Anwendung des Ersetzungsvorgangs aus dem Startwort ergeben.  1  2  3  ....

34 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB

35 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB A

36 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB B

37 Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB AB
Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB AB parallele Ersetzung

38 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB BAB

39 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB BAB

40 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB ABBAB

41 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB Ableitungskette: A  B  AB  BAB  ABBAB  BABABBAB  ABBABBABABBAB  BABABBABABBABBABABBAB  ...

42 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB Ableitungskette: A  B  AB  BAB  ABBAB  BABABBAB  ABBABBABABBAB  BABABBABABBABBABABBAB  ... wie lang ist die n-te Zeichenkette in dieser Ableitung?

43 Beispiel: Alphabet {A, B}, Startwort A Regelmenge: A  B B  AB Ableitungskette, besser visualisiert:

44 was für die Modellierung von grafischen und biologischen Strukturen bisher noch fehlt:
eine geometrische Interpretation

45 eine geometrische Interpretation
was für die Modellierung von grafischen und biologischen Strukturen bisher noch fehlt: eine geometrische Interpretation Füge also hinzu: eine Abbildung, die jeder Zeichenkette eine Teilmenge des 3-dimensionalen Raumes zuordnet dann: "interpretierte" L-System-Abarbeitung   1  2  3  ....    S1 S2 S S1, S2, S3, ... können als Entwicklungsstufen eines Objekts, einer Szene oder eines Organismus interpretiert werden.

46 Für die Interpretation der Zeichenketten:
Turtle-Geometrie Der Turtle-Befehlsvorrat wird zu einer Untermenge der Zeichenmenge des L-Systems. Symbole, die nicht Turtle-Befehle sind, werden von der Turtle ignoriert.

47 Für die Interpretation der Zeichenketten:
Turtle-Geometrie Der Turtle-Befehlsvorrat wird zu einer Untermenge der Zeichenmenge des L-Systems. Symbole, die nicht Turtle-Befehle sind, werden von der Turtle ignoriert.  Verbindung mit dem imperativen Paradigma

48 Beispiel: Regeln A ==> F0 [ RU(45) B ] A ; B ==> F0 B ;
Startwort A (A und B werden normalerweise nicht geometrisch interpretiert.) Interpretation durch Turtle-Geometrie

49 Hausaufgaben: (1) Lesen Sie auf der „Grogra-CD“ im Abschnitt „Grogra“ die Unterabschnitte Turtle Rotation Verzweigung Beachten Sie die Unterschiede zwischen der Grogra-Syntax und XL (z.B. in XL M statt f, LMul statt L* ...); siehe Tabelle der Turtle-Kommandos (2) Lesen Sie Chapter 1, Section 1.1 – 1.5 (ohne 1.4) im Buch „The Algorithmic Beauty of Plants“ von P. Prusinkiewicz und A. Lindenmayer (online verfügbar, siehe Literaturseite zur Veranstaltung). (= S ohne Abschnitt 1.4).


Herunterladen ppt "Struktur-Funktions-Modelle von Pflanzen"

Ähnliche Präsentationen


Google-Anzeigen