1 / 90

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

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2011 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik 2. Vorlesung: 21. 4. 2011. letztes Mal: Modelldreieck für Pflanzenmodelle reine Strukturmodelle, Motivation

lulu
Download Presentation

Struktur-Funktions-Modelle von Pflanzen - Sommersemester 2011 - 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 2011 - Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik 2. Vorlesung: 21. 4. 2011

  2. letztes Mal: • Modelldreieck für Pflanzenmodelle • reine Strukturmodelle, Motivation • 3 Ebenen der Strukturbeschreibung • 2 Arten der statischen Beschreibung • - tabellarisch (dtd-Format) • - imperativ (turtle geometry) (noch nicht behandelt) • Einstieg in die Software GroIMP

  3. heute: • Laden von dtd-Dateien • erste Analysen von Verzweigungssystemen • Programmierparadigmen • Turtle-Geometrie • Ausführung von Turtle-Geometrie-Befehlsfolgen • mit GroIMP

  4. Laden von dtd-Dateien in GroIMP • in der Version 1.2 nur über dummy-Datei möglich • File / Open: dummy.rgg (öffnen) • Objects / Insert File: dtd-Datei wählen (öffnen) • ggf. Kameraeinstellungen ändern

  5. Einfache Analysen • einige Möglichkeiten wurden aus der Vorgängersoftware GROGRA übernommen • Panels / RGG Panels / GROGRA functions / Analysis • dort: • - list of all shoots (erzeugt komplette Liste) • - elementary analysis • - basic tree parameters • - topological analysis (später mehr)

  6. Paradigmen der Programmierung Der Begriff "Programmierparadigma" Paradigma: grundlegende Denkweise, beispielorientierte Vorstellung

  7. Paradigma: "Beschreibt eine Menge von Theorien, Standards und Methoden, die gemeinsam einen Weg repräsentieren, Wissen zu organisieren" Thomas Kuhn 1970: The Structure of Scientific Revolutions

  8. Paradigma: "Beschreibt eine Menge von Theorien, Standards und Methoden, die gemeinsam einen Weg repräsentieren, Wissen zu organisieren" Thomas Kuhn 1970: The Structure of Scientific Revolutions Paradigmenwechsel: schwierig. Revolution im Denken!

  9. wurde aufgegriffen von Robert Floyd 1978: Turing Award Lecture "The Paradigms of Programming" Robert W. Floyd (1936-2001)

  10. Welche Paradigmen werden nahegelegt durch Probleme... ... bei der Simulation natürlicher Objekte ? ... bei deren computergrafischer Darstellung ?

  11. Ökologie:

  12. Ökologie: Organismen

  13. Ökologie: Organismen Aufbau beschreiben

  14. Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben

  15. Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Gesetzmäßigkeiten (Regeln) bestimmen

  16. Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Prozesse Gesetzmäßigkeiten (Regeln) bestimmen

  17. Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Prozesse Gesetzmäßigkeiten (Regeln) bestimmen Ablauf berechnen

  18. Grafisches System:

  19. Grafisches System: Objekte

  20. Grafisches System: Objekte (mit Attributen)

  21. Grafisches System: Objekte (mit Attributen) regelmäßige Strukturen

  22. Grafisches System: Objekte (mit Attributen) regelmäßige Strukturen Prozesse

  23. Einige wichtige Programmierparadigmen • für numerische Simulation von Prozessen: • imperatives Paradigma

  24. Einige wichtige Programmierparadigmen • für numerische Simulation von Prozessen: • imperatives Paradigma • (auch: von-Neumann-Paradigma, • Kontrollfluss-Paradigma) John von Neumann (1903-1957)

  25. imperativ: "Befehls-Programmierung" Computer = ?

  26. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten.

  27. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten (diese Veränderungen können Seiteneffekte haben).

  28. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten. Programm = ?

  29. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten. Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen).

  30. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten. Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen). Programmfindung: ?

  31. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten. Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen). Programmfindung: Elementare Einzelschritte finden und in passende, flexible Reihenfolge bringen.

  32. "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten. Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen). Programmfindung: Elementare Einzelschritte finden und in passende, flexible Reihenfolge bringen. Programmiersprachen, die dieses Paradigma unterstützen: Fortran, Pascal, C, ..., Teile von Java, ...

  33. Beispiel: x = 0; while (x < 100) x = x + 1; Inhalt der Variable x wird verändert Schleife legt Kontrollfluss fest

  34. Beispiel: x = 0; while (x < 100) x = x + 1; Inhalt der Variable x wird verändert Schleife legt Kontrollfluss fest Beachte: "=" steht hier nicht für math. Gleichheit, sondern für Zuweisung (prozesshaft)!

  35. Nachteil des imperativen Paradigmas: simultane, parallele Zuweisung wird nicht unterstützt

  36. Nachteil des imperativen Paradigmas: simultane, parallele Zuweisung wird nicht unterstützt Beispiel (Floyd 1978): Räuber-Beute-System, beschrieben durch Rneu = f(R, B), Bneu = g(R, B) Anfängerfehler beim Programmieren: for (i = ... ) { R = f(R, B); B = g(R, B); }

  37. Nachteil des imperativen Paradigmas: simultane, parallele Zuweisung wird nicht unterstützt Beispiel (Floyd 1978): Räuber-Beute-System, beschrieben durch Rneu = f(R, B), Bneu = g(R, B) Anfängerfehler beim Programmieren: for (i = ... ) { R = f(R, B); B = g(R, B); }

  38. Programmiersprachen, die das imperative Paradigma unterstützen: Fortran, Pascal, C, ..., Teile von Java, Befehlssprache der Turtle-Geometrie

  39. Turtle: zeichnende Schildkröte, die auf Befehle hört

  40. Turtle: zeichnende Schildkröte, die auf Befehle hört

  41. F0

  42. F0

  43. F0 RU(90)

  44. F0 RU(90)

  45. F0 RU(90) F0

  46. F0 RU(90) F0

  47. F0 RU(90) F0 RU(90) LMul(0.5) F0

  48. F0 RU(90) F0 RU(90) LMul(0.5) F0 (später mehr)

  49. zurück zum Beispiel: Objekte (mit Attributen)

  50. Objektorientiertes Paradigma Computer = Umgebung für virtuelle Objekte Programm = Auflistung von (Objekt-) Klassen, d.h. allgemeiner Spezifikationen von Objekten, die zur Laufzeit des Programms (ggf. mehrfach) erschaffen und wieder vernichtet werden können und miteinander kommunizieren. Programmfindung: Spezifikation der Klassen (Daten und Methoden), die Objektstruktur und -verhalten festlegen. Programmiersprachen: Smalltalk, Simula, C++, Java, ...

More Related