1 / 21

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

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2014 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik 7. Vorlesung: 26. 6. 2014. zuletzt: kontextsensitive Regeln Interpretationsregeln Graph als mathematische Grundstruktur

zoe
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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)

More Related