1 / 138

Welche Paradigmen der Programmierung braucht man für die Computergrafik und für die Ökologie?

Welche Paradigmen der Programmierung braucht man für die Computergrafik und für die Ökologie? Winfried Kurth Brandenburgische Technische Universität Cottbus, Lehrstuhl Grafische Systeme.

shae
Télécharger la présentation

Welche Paradigmen der Programmierung braucht man für die Computergrafik und für die Ökologie?

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. Welche Paradigmen der Programmierung braucht man für die Computergrafik und für die Ökologie? Winfried Kurth Brandenburgische Technische Universität Cottbus, Lehrstuhl Grafische Systeme

  2. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma"

  3. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen

  4. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL

  5. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele

  6. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma

  7. Kurth Göttingen, 30. 11. 2007 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung

  8. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung • Der Begriff "Programmierparadigma" • Paradigma: • grundlegende Denkweise

  9. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung 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

  10. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung 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!

  11. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung wurde aufgegriffen von Robert Floyd 1978: Turing Award Lecture "The Paradigms of Programming" Robert W. Floyd (1936-2001) Bildquelle: http://delivery.acm.org/10.1145/1290000/1283934/a1978-floyd.pdf?key1=1283934&key2=6725076911&coll=GUIDE&dl=GUIDE&CFID=45530762&CFTOKEN=68670312

  12. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Welche Paradigmen werden nahegelegt durch Probleme... ... der Ökologie ? ... der Grafik ?

  13. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Bildquelle: www.lusttoeter.de /images/rehli.jpg (20.11.2007)

  14. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Organismen

  15. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Organismen Aufbau beschreiben

  16. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben

  17. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Gesetzmäßigkeiten (Regeln) bestimmen

  18. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Prozesse Gesetzmäßigkeiten (Regeln) bestimmen

  19. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Ökologie: Verhalten (unter bestimmten Bedingungen) Organismen Aufbau beschreiben Prozesse Gesetzmäßigkeiten (Regeln) bestimmen Ablauf berechnen

  20. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Grafisches System:

  21. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Grafisches System: Objekte (mit Attributen) regelmäßige Strukturen Prozesse

  22. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung • 2. Einige wichtige Programmierparadigmen • für numerische Simulation von Prozessen: • imperatives Paradigma

  23. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung • 2. Einige wichtige Programmierparadigmen • für numerische Simulation von Prozessen: • imperatives Paradigma • (auch: von-Neumann-Paradigma, • Kontrollfluss-Paradigma) John von Neumann (1903-1957) Bildquelle: hps.elte.hu/~redei/Utrecht/JVN1950S%20.jpg (20.11.2007)

  24. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung imperativ: "Befehls-Programmierung" Computer = ?

  25. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten (diese Veränderungen können Seiteneffekte haben).

  26. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten (diese Veränderungen können Seiteneffekte haben). Programm = ?

  27. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten (diese Veränderungen können Seiteneffekte haben). Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen).

  28. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung "Befehls-Programmierung" Computer = Maschine zur Veränderung von Variablen-werten (diese Veränderungen können Seiteneffekte haben). Programm = Plan für den Berechnungsprozess mit Angabe der Befehle und des Kontrollflusses (z.B. Schleifen). Programmiersprachen, die dieses Paradigma unterstützen: Fortran, Pascal, C, ..., Teile von Java, ...

  29. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung 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)!

  30. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung (ein) Nachteil des imperativen Paradigmas: simultane, parallele Zuweisung wird nicht unterstützt

  31. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung (ein) 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); }

  32. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung (ein) 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); }

  33. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Beispiel für imperatives Grafik-Programmieren: Turtle-Geometrie Turtle: zeichnende Schildkröte, die auf Befehle hört Variablen: Position, Orientierung, Schrittweite, ...

  34. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Turtle:

  35. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0

  36. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0

  37. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90)

  38. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90)

  39. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90) F0

  40. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90) F0

  41. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90) F0 RU(90) LMul(0.5) F0

  42. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung F0 RU(90) F0 RU(90) LMul(0.5) F0

  43. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung anderes Beispiel: for ((1:20))( for ((1:36)) ( F0 RU(165) F0 RU(165) ) RU(270) )

  44. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung anderes Beispiel: for ((1:20))( for ((1:36)) ( F0 RU(165) F0 RU(165) ) RU(270) )

  45. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Erweiterung auf 3D-Grafik: Turtle-Rotationen um 3 Achsen

  46. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Erweiterung auf 3D-Grafik: Turtle-Rotationen um 3 Achsen left head up

  47. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Erweiterung auf 3D-Grafik: Turtle-Rotationen um 3 Achsen RL RH RU

  48. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung zurück zum Beispiel: Objekte (mit Attributen) Organismen

  49. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Objektorientiertes Paradigma Computer = Umgebung für virtuelle Objekte Programm = Auflistung von (Objekt-) Klassen, d.h. allgemeiner Spezifikationen von Objekten Programmiersprachen: Smalltalk, Simula, C++, Java, ...

  50. 1. Begriff "Programmierparadigma" 2. Einige wichtige Programmierparadigmen 3. Synthese: Die Sprache XL 4. Anwendungsbeispiele 5. Das VR-Paradigma 6. Zusammenfassung Beispiel: class Blatt { float blattflaeche; float trockenmasse; float npp() { ..... } void seneszenz() { ..... } }

More Related