Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2015 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik."—  Präsentation transkript:

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

2 zuletzt: L-System-Beispiele Einbau von Texturen in Pflanzenmodelle Anlegen eines Projekts in GroIMP stochastische L-Systeme kontextsensitive L-Systeme Interpretationsregeln

3 als nächstes: der Graph als grundlegende Datenstruktur: Definition Eigenschaften von Graphen Graph-Ersetzungsregeln Funktionsweise von relationalen Wachstumsgrammatiken zwei Regelsorten: L-System- und SPO-Regeln

4 Der Schritt zu Graph-Grammatiken Nachteil von L-Systemen: in L-Systemen mit Verzweigungen (über Turtle-Kommandos) nur 2 mögliche Relationen zwischen Objekten: "direkter Nachfolger" und "Verzweigung" Erweiterungen: Zulassen weiterer Relationstypen (beliebig wählbar) Zulassen von Zyklen  Graph-Grammatik

5 Ein Graph: eine Art, Daten zu organisieren Def.: eine Menge von Knoten, (teilweise) verbunden durch (gerichtete) Kanten (Relationen). T I I T I T TI Knoten (T = Trieb, I = Internodium) Kantentypen (Relationen): Nachfolgerbeziehung Verfeinerungsbeziehung

6 Eine Zeichenkette (string): ein sehr einfacher Graph  Eine Zeichenkette kann man als 1- dimensionalen Graphen mit nur einem Kantentyp auffassen  Nachfolger-Kanten (successor relation) A B A A A C C A B

7 Finden Sie so eine Struktur irgendwo im realen Leben wieder? S RS B S B B B S B B B S B B S B S B B B S B B B S B B S B S B B B S B B B S B B

8 vielleicht jetzt? Bu d Shoot Bu d Shoot Bud Shoot Bu d Shoot Bu d Shoot Bu d Shoot Bud Shoot Bu d Shoot Bu d Root

9  3 Knotentypen  Wurzelkompartiment  Jahrestriebe  Knospen  2 Kantentypen  Nachfolgerrelation (selbe Achse)  Verzweigungsrelation (neue Achse) es handelt sich um einen Baum. Bäume sind spezielle Graphen

10 zugrundeliegendes Teilgebiet der Mathematik: Topologie

11 zwei isomorphe Graphen:

12

13 Graph-Grammatik (Beispiel) Regel: nun werden die Graphen zeitlich veränderlich gemacht!

14 Graph-Grammatik (Beispiel) Regel: Anwendung: hier nicht anwendbar! (falscher Kantentyp)

15 Eine relationale Wachstumsgrammatik (RGG)* (spezieller Typ von Graph-Grammatik) enthält:  ein Alphabet –die Definition aller erlaubten Knotentypen Kantentypen (Typen von Relationen)  das Axiom –ein initialer Graph, der aus Elementen des Alphabets zusammengesetzt ist  eine Menge von Graphersetzungsregeln. * relational growth grammar

16 Eine relationale Wachstumsgrammatik enthält:  ein Alphabet –die Definition aller erlaubten Knotentypen Typen von Relationen  das Axiom –ein initialer Graph, der aus den Elementen des Alphabets zusammengesetzt ist  eine Menge von Graphersetzungsregeln Shoot Root Bu d RootShoot Bu d Nachfolger Verzweigung

17 Was sind nun diese Graphersetzungsregeln (RGG-Regeln) ? und wie wendet man sie an?

18 Graphersetzungsregeln sind Regeln für die Transformation eines Graphen (Teilgraphen) in einen anderen Graphen. eine Regel besteht im wesentlichen aus: linker Regelseite ==> rechter Regelseite

19 Wie eine RGG-Regel angewandt wird  jede linke Regelseite beschreibt einen Teilgraphen (ein Muster aus Knoten und Kanten, das im Gesamtgraphen gesucht wird), welcher ersetzt wird bei der Regelanwendung.  jede rechte Regelseite definiert einen neuen Teilgraphen, der als Ersatz für den entfernten Teilgraphen eingefügt wird.

20 einfaches Beispiel mit Zeichenkette  Jedes Vorkommen des in der linken Regelseite definierten Teilgraphen wird ersetzt! ABCA DBCD AD wird ersetzt durch 2 Regelanwendungen im selben Zeitschritt. C C

21 eine vollständige RGG-Regel kann 5 Teile enthalten: (* Kontext *), Linke Regelseite, ( Bedingung ) ==> Rechte Regelseite { imperativer XL-Code }

22 Kontext-Beispiel (* Kontext *), Linke Regelseite, (Bedingung) ==> Rechte Regelseite { imperativer XL-Code } ABCA DC D A wird ersetzt durch B A Beispiel: (* *) B C C

23 Bedingungs-Beispiel (* Kontext *), Linke Regelseite, ( Bedingung ) ==> Rechte Regelseite { imperativer XL-Code } ABCA DC D a:A wird ersetzt durch B A Beispiel: ( a[length] > 10 ) ABCA 2 mögliche Ergebnisse, abhängig vom aktuellen Längenparameter des A-Knotens C C C

24 RELATIONALE WACHSTUMSGRAMMATIKEN (RGG: Relational Growth Grammars, parallele Graph-Gramm.) Zusammenfassung: Aufbau einer Regel einer RGG imperativer Code

25 Grammatik modifiziert direkt den Graphen, Umweg über String-Codierung entfällt (bzw. wird nur noch für Regel-Eingabe gebraucht)

26 RGG als Verallgemeinerungen von L-Systemen: Zeichenketten entsprechen speziellen Graphen In Textform schreiben wir allgemeine (selbstdefinierte) Kanten als -kantensorte-> Kanten des speziellen Typs "Nachfolger" werden meist als Leerzeichen geschrieben (statt -successor-> )

27 für allgemeine Graphen: Problem der Einbettung der rechten Regelseite Regel: Anwendung:

28 2 Regeltypen für Graph-Ersetzungsregeln in XL: ● L-System-Regel, Symbol: ==> sorgt für Einbettung der rechten Seite in den Graphen (d.h. ein- und ausgehende Kanten werden beibehalten) mit Standard-Vorgabe ● SPO-Regel, Symbol: ==>> Ein- und ausgehende Kanten werden gelöscht (sofern ihre Beibehaltung nicht explizit in der Regel angegeben wird) „SPO“ von „single pushout“ - ein Fachbegriff aus der universellen Algebra

29 a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A Ausgangs- graph: ABC Beispiel:

30 a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A ABC DEA

31 a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A ABC DEA a:

32 a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A AADE a: C = Endergebnis

33 Testen Sie das Beispiel sm09_b27.rgg : module A extends Sphere(3); protected void init() [ Axiom ==> F(20, 4) A; ] public void runL() [ A ==> RU(20) F(20, 4) A; ] public void runSPO() [ A ==>> ^ RU(20) F(20, 4, 5) A; ] ( ^ bezeichnet den Wurzelknoten im aktuellen Graphen)

34 Hausaufgabe: 1. Bearbeiten Sie im ILIAS-Lernmodul „Einführung in GroIMP“ (verfügbar über StudIP) die Lektionen und Lesen Sie Chapter 1, Section 1.8 im Buch „The Algorithmic Beauty of Plants“ von P. Prusinkiewicz und A. Lindenmayer (= S ). (Beachten Sie die abweichende Notation für kontextsensitive Regeln.)


Herunterladen ppt "Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2015 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik."

Ähnliche Präsentationen


Google-Anzeigen