Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

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

2 zuletzt: Aktualisierungsregeln Eigenschaften der Sprache XL (Übersicht) Darstellung von Graphen in XL (Teil 1)

3 als nächstes: Darstellung von Graphen in XL (Fortsetzung) transitive Hülle Graphansicht in GroIMP, Graph-Layouts Queries im Graphen Berechnung von Beschattung (1. Ansatz) Die Software GroIMP (Übersicht)

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

5 wie lässt sich der folgende Graph im Code textuell beschreiben? X Bud Leaf + > 01

6 abgeleitete Relationen Relation zwischen Knoten, die durch mehrere Kanten desselben Typs (hintereinander) verbunden sind: transitive Hülle der ursprünglichen Relation (Kante)

7 Bezeichnungsweise für die transitive Hülle in XL: (-kantentyp->)+ reflexiv-transitive Hülle (auch Knoten steht in Relation zu sich selbst zugelassen): (-kantentyp->)* z.B. für die Nachfolgerrelation: (>)* gemeinsame transitive Hülle der speziellen Kantentypen Nachfolger und Verzweigung, in umgekehrter Richtung: -ancestor-> Interpretation: diese Relation besteht zu allen Vorgängerknoten in einem Baum entlang des Pfades zur Wurzel. Nächste Nachfolger eines bestimmten Knotentyps: -minDescendants-> (Knoten anderen Typs werden übersprungen)

8 Nachfolgerkante Verzweigungskante Relation ancestor minDescendants

9 Der aktuelle Graph GroIMP führt immer einen Graphen mit, der die gesamte aktuelle Strukturinformation beinhaltet. Dieser wird durch Anwendung der Regeln umgeformt. Achtung: Nicht alle Knoten des Graphen werden in der 3D- Ansicht durch sichtbare Objekte dargestellt! - F0, F(x), Box, Sphere : ja - RU(30), A, B : normalerweise nicht (wenn nicht mit extends aus sichtbaren Objekten abgeleitet) Der Graph kann in der 2D-Graphansicht komplett dargestellt werden (in GroIMP: Panels - 2D - Graph).

10 Laden Sie eine Beispiel-rgg-Datei in GroIMP und führen Sie einige Schritte aus (verwenden Sie keine zu komplexe Struktur). Öffnen Sie die 2D-Graphansicht, verankern Sie mit der Maus das Fenster in der GroIMP-Oberfläche und testen Sie verschiedene Layouts (Layout - Edit): GeneralPurpose Tree Sugiyama Square Circle Random SimpleEdgeBased Fruchterman Verfolgen Sie die Veränderung des Graphen, wenn Sie die Regeln anwenden ( redraw anklicken)!

11 was ist von der in XL erzeugten Graph-Struktur sichtbar (in der 3D-Ansicht) ? alle Geometrieknoten, die von der Wurzel (Zeichen: ^) des Graphen über genau einen Pfad, der nur aus "successor"- und "branch"-Kanten besteht, erreichbar sind. Erzwingen, dass ein Objekt auf jeden Fall sichtbar ist: ==>> ^ Objekt

12 Anfragen (queries) in den erzeugten Graphen Möglichkeit der Verbindung von Struktur und Funktion Beispiel: suche alle Blätter, die Nachfolger des Knotens c sind, und summiere deren Fläche query

13 Anfragen (queries) in den erzeugten Graphen Möglichkeit der Verbindung von Struktur und Funktion Beispiel: suche alle Blätter, die Nachfolger des Knotens c sind, und summiere deren Fläche transitive Hüllenbildung Aggregationsoperator query

14 Anfragen (queries) in den erzeugten Graphen Möglichkeit der Verbindung von Struktur und Funktion Beispiel: suche alle Blätter, die Nachfolger des Knotens c sind, und summiere deren Fläche transitive Hüllenbildung Aggregationsoperator Ergebnis kann übergeben werden an imperative Berechnung query

15 Query in einem Pflanzen- / Tier-Modell: p:Plant, (* a:Animal, (distance(a,p) < p[radius]) *)

16 Query in einem Pflanzen- / Tier-Modell: p:Plant, (* a:Animal, (distance(a,p) < p[radius]) *) sucht alle Tiere innerhalb des Radius von p

17 Query-Syntax: Umgeben wird eine Query mit (* *) Die Elemente werden in ihrer erwarteten Reihenfolge angegeben, z.B.: (* A A B *) sucht nach einen Subgraphen, welcher eine Folge von Knoten der Typen A A B, verbunden durch Nachfolgerkanten, enthält. Testen Sie die Beispiele sm09_b28.rgg, sm09_b29.rgg, sm09_b30.rgg, sm09_b31.rgg

18 Modellierung von Beschattung erster Modellansatz (stark vereinfachend): Beschattung eines Objekts liegt dann vor, wenn sich in einem gedachten Kegel mit Spitze im Objekt, geöffnet nach oben (z- Richtung), noch andere Objekte befinden. Beispiel: sm09_b42.rgg Lichtkonkurrenz dreier 2-dimensionaler Modellpflanzen

19 module Segment(int t, int ord) extends F0; module TBud(int t) extends F(1, 1, 1); module LBud extends F(0.5, 0.5, 1); Vector3d z = new Vector3d(0, 0, 1); protected void init() [ Axiom ==> P(2) D(5) V(-0.15) [ TBud(-4) ] RU(90) M(600) RU(-90) [ TBud(0) ] RU(-90) M(1200) RU(90) [ TBud(-8) ]; ] public void run() [ TBud(t), (t TBud(t+1); x:TBud(t), (t >= 0 && empty( (* s:Segment, (s in cone(x, z, 45)) *) ) ) ==> L(random(80, 120)) Segment(0, 0) [ MRel(random(0.5, 0.9)) RU(60) LBud ] [ MRel(random(0.5, 0.9)) RU(-60) LBud ] TBud(t+1); y:LBud, (empty( (* s:Segment, (s in cone(y, z, 45)) *) ) ) ==> L(random(60, 90) Segment(0, 1) RV0 LBud; Segment(t, o), (t Segment(t+1, o); Segment(t, o), (t >= 8 && o == 1) ==>> ; /* Entfernen des ganzen Astes */ ]

20 Die Software GroIMP http://www.grogra.de dort auch Link auf die Download-Seite http://sourceforge.net/projects/groimp/ und Beispiele-Galerie. Siehe auch Lerneinheiten zu GroIMP (Autor: K. Petersen, M.Sc. Forst., Sommersem. 2009). GroIMP ist ein Open-Source-Projekt!

21 Interaktive 3D-Plattform GroIMP (Growth-grammar related Interactive Modelling Platform)

22 GroIMP ist eine Kombination von: - XL-Compiler und -Interpreter - Entwicklungsumgebung für XL - 3D-Modeller (interaktiv) - 3D-Renderer (mehrere Varianten) - 2D-Graphen-Visualisierer - Editor für 3D-Objekte und Attribute - Texturerzeugungswerkzeug - Display für dtd-Dateien - Lichtsimulationswerkzeug

23 Beispiel eines mit GroIMP realisierten Pflanzenmodells (Gerste):

24 Anwendungsbeispiel: Modellierung von Parklandschaften (Rogge & Moschner 2007, für Stiftung Branitzer Park, Cottbus) mit GroIMP generierte Erle in VRML-Welt

25 Ergebnisse aus Architektur-Seminar mit XL: Liang 2007

26

27 Jarchow 2007

28

29 virtuelle Landschaft (mit Buchen-Fichten-Mischbestand)

30

31 weitere Beispiele für Struktur- Funktions-Modelle von Pflanzen, mit GroIMP realisiert:

32 GroIMP: neuere Erweiterungen Supershape (Klasse von math. definierten Oberflächen) als geometrische Primitivobjekte

33 GroIMP: neuere Erweiterungen Raten-Zuweisungsoperator: Möglichkeit, effiziente und numerisch stabile Lösungsverfahren für gewöhnliche Differentialgleichungen auf einfache Weise im Modellcode aufzurufen (Hemmerling 2012) Example:

34 GroIMP: neuere Erweiterungen verbesserte OpenGL-3D-Ansicht zur Visualisierung (Hartmann, Hemmerling 2010)

35 GroIMP: neuere Erweiterungen integriertes Werkzeug für die Erzeugung von Billboard-Objekten zur schnellen Vegetations- darstellung (Hemmerling 2010)

36 GroIMP: neuere Erweiterungen integrierter virtueller Laserscanner (realisiert mit Ecole Centrale Paris, Praktikumsarbeit eines Studenten) (Etard 2011)


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

Ähnliche Präsentationen


Google-Anzeigen