Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2011 - 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

3 als nächstes: ein neuer Regeltyp: Interpretationsregeln der Graph als grundlegende Datenstruktur: Definition Eigenschaften von Graphen Graph-Ersetzungsregeln

4 Interpretationsregeln Einbau einer weiteren Regelanwendung unmittelbar vor der grafischen Interpretation (ohne Wirkung auf die nächste Generation) Interpretationsregel- Anwendung Turtle-Interpretation

5 Beispiel: module MainBud(int x) extends Sphere(3) {{setShader(GREEN);}}; module LBud extends Sphere(2) {{setShader(RED);}}; module LMeris; module AMeris; module Flower; const float d = 30; const float crit_dist = 21; protected void init() [ Axiom ==> MainBud(10); ] public void run() { [ MainBud(x) ==> F(20, 2, 15) if (x > 0) ( RH(180) [ LMeris ] MainBud(x-1) ) else ( AMeris ); LMeris ==> RU(random(50, 70)) F(random(15, 18), 2, 14) LBud; LBud ==> RL(90) [ Flower ]; AMeris ==> Scale(1.5) RL(90) Flower; /* Flower: hier nur ein Symbol */ ] applyInterpretation(); /* Aufruf der Interpretationsregelausfuehrung (im imperativen Teil {... } !) */ } protected void interpret() /* Block mit Interpretationsregeln */ [ Flower ==> RH(30) for ((1:5)) ( RH(72) [ RL(80) F(8, 1, 9) ] ); ]

6 public void run() { [ Axiom ==> A; A ==> Scale(0.3333) for (int i:(-1:1)) for (int j:(-1:1)) if ((i+1)*(j+1) != 1) ( [ Translate(i, j, 0) A ] ); ] applyInterpretation(); } public void interpret() [ A ==> Box; ] weiteres Beispiel: erzeugt den sogenannten Menger-Schwamm (ein Fraktal)

7 public void run() { [ Axiom ==> A; A ==> Scale(0.3333) for (int i:(-1:1)) for (int j:(-1:1)) if ((i+1)*(j+1) != 1) ( [ Translate(i, j, 0) A ] ); ] applyInterpretation(); } public void interpret() [ A ==> Box; ] (a) (b)(c) A ==> Sphere(0.5); A ==> Box(0.1, 0.5, 0.1) Translate(0.1, 0.25, 0) Sphere(0.2);

8 was wird durch dieses Beispiel erzeugt? public void run() { [ Axiom ==> [ A(0, 0.5) D(0.7) F(60) ] A(0, 6) F(100); A(t, speed) ==> A(t+1, speed); ] applyInterpretation(); } public void interpret() [ A(t, speed) ==> RU(speed*t); ]

9 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

10 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

11 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

12 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

13 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

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

15 zugrundeliegendes Teilgebiet der Mathematik: Topologie

16 zwei isomorphe Graphen:

17

18

19

20 dichotomFischgräten

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

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

23 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

24 Hinweis: Veranstaltung zu Prozessmodellierung / Photosynthese- Grundlagen und -Messung beginnt am 7. 6., 8:15 Uhr in der Abteilung Baumphysiologie und Forstbotanik, FSR 2.4. Keine VL am und am 2. 6.! Nächste reguläre VL im CIP-Raum wieder am Hausaufgabe zum 7. 6.: Lesen Sie folgende Abschnitte des Wikipedia-Eintrags zum Stichwort Photosynthese ( ): - Überblick - Oxygene Photosynthese, 1. Abschnitt - Kohlenstoffdioxid-Assimilation - Energiebilanz - Bedeutung

25 Hausaufgabe zum 9. 6.: Bearbeiten Sie im ILIAS-Lernmodul Einführung in GroIMP (verfügbar über StudIP) die Lektionen und


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

Ähnliche Präsentationen


Google-Anzeigen