Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2014 - Winfried Kurth PowerPoint Presentation
Download Presentation
Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2014 - Winfried Kurth

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2014 - Winfried Kurth

101 Views Download Presentation
Download Presentation

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2014 - Winfried Kurth

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. zuletzt: • kontextsensitive Regeln • Interpretationsregeln • Graph als mathematische Grundstruktur • (ein Exkurs: topologische Analyse von Graphen) • Graph-Ersetzungsregeln

  3. als nächstes: • Funktionsweise von relationalen Wachstumsgrammatiken • zwei Regelsorten: L-System- und SPO-Regeln • ein weiterer Regeltyp: Aktualisierungsregeln • Notation von Graphen in XL

  4. Wiederholung: Relationale Wachstumsgrammatiken (RGG: Relational Growth Grammars, parallele Graph-Gramm.) Zusammenfassung: Aufbau einer Regel einer RGG

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

  6. 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->)

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

  8. 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

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

  10. a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A A B C D E A

  11. a:A ==>> a C (SPO-Regel) B ==> D E (Regeln vom L-System-Typ) C ==> A A B C a: D E A

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

  13. 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)

  14. ein weiterer Regeltyp: Aktualisierungsregeln manchmal will man gar nichts an der Graph-Struktur ändern, sondern nur Attribute eines einzelnen Knotens verändern (z.B. Berechnung der Photosyntheseleistung für ein Blatt). Dazu gibt es einen eigenen Regeltyp: A ::> { imperativer Code }; Testen Sie die Beispiele sm09_b25.rgg, sm09_b16.rgg, sm09_b18.rgg

  15. Darstellung von Graphen in der Programmiersprache XL ● (neue)Knotentypen müssen mit „module“ deklariert werden ● Knoten können alle Java-Objekte sein. Bei eigenen module-Deklarationen können auch Methoden (Funktionen) und zusätzliche Variablen mitdeklariert werden, wie in Java ● Notation für Knoten in einem Graphen: Knotentyp, optional davor: bezeichner: Beispiele: A, Meristem(t), b:Bud ● Notation für Kanten: -Kantenbezeichner->, <-Kantenbezeichner- ● Spezielle Kantentypen: Nachfolgerkante: > Verzweigungskante: +> Verfeinerungskante: />

  16. Darstellung von Graphen

  17. selbstdefinierte Kantentypen const int xxx = EDGE_0; // oder EDGE_1, ..., EDGE_14 ... Verwendung im Graphen: -xxx->, <-xxx-, -xxx-

  18. (vgl. Kniemeyer 2008, S. 150 und 403)

  19. Notation von Graphen in XL Beispiel: wird im Programmcode dargestellt als (die Darstellung ist nicht eindeutig!) ( >: Nachfolgerkante, +: Verzweigungskante)

  20. wie lässt sich der folgende Graph im Code textuell beschreiben? Bud > 0 1 X + Leaf

  21. Hausaufgabe zum 3. 7.: Lesen Sie die Abschnitte 3.1 bis 3.13 (S. 17-33) aus der Dissertation von Ole Kniemeyer (http://nbn-resolving.de/urn/resolver.pl?urn=urn:nbn:de:kobv:co1-opus-5937)