Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Computergraphikpraktikum Rasteralgorithmen WS04/05.

Ähnliche Präsentationen


Präsentation zum Thema: "Computergraphikpraktikum Rasteralgorithmen WS04/05."—  Präsentation transkript:

1 Computergraphikpraktikum Rasteralgorithmen WS04/05

2 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 2 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

3 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 3 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

4 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 4 Thema Rasteralgorithmen Grundlage: Foley/van Dam/Feiner/Hughes: Computer Graphics: Principles and Practice, Kapitel Midpoint-Line-Algorithm Midpoint-Circle-Algorithm Midpoint-Ellipse-Algorithm Zielgruppe Studenten der Informatik an GDV interessierte Personen

5 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 5 Thema Idee der Midpoint-Algorithmen Beschreibung der anzunähernden Zeichenprimitive über implizite Gleichung: -z.B.: F(x, y) = x 2 + y 2 - R 2 -Funktion hat den Wert 0 für Punkte auf der Linie -Vorzeichen gibt Hinweis auf Position des Punktes zur Linie Für jeden Schritt gibt es zwei mögliche nächste Punkte: -auf gleicher Höhe -mit Versatz um eine Rasterlinie Betrachtung des Funktionswert des Midpoints zwischen den beiden Punkten (Entscheidungsvariable) Je nach Funktionswert wird der eine oder der andere Punkt gewählt. Algorithmen lassen sich inkrementell gestalten Line- und Circle-Algorithmen lassen sich auf Integer-Arithmetik beschränken

6 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 6 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

7 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 7 Didaktische Überlegungen Kursstruktur Lerneinheiten entsprechen den Kapiteln in der Vorlage -(Line, Circle, Ellipse) Reihenfolge entspricht zunehmender Komplexität Vorgehen in den Lerneinheiten: -naheliegende (naive) Lösung -beschreiben der Nachteile dieses Ansatzes -Herleitung des inkrementellen Midpoint-Algorithmus -Demonstration in einem Applet

8 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 8 Didaktische Überlegungen Probleme Mensch sieht sofort, welche Punkte zu setzen sind -Lösung eines Problems, dass nur der Computer hat -Aha-Effekte sind schwer zu erzielen Herleitung des Algorithmus aus impliziter Gleichung ist mathematischer Prozess -Darstellung nur als Abfolge von Gleichungen im Text möglich Rechenschritte des Algorithmus lassen sich nicht graphisch darstellen

9 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 9 Didaktische Überlegungen Quiz als Lernkontrolle? Welchen Punkt wird der Algorithmus als nächstes wählen? -Lösung für Menschen offensichtlich und langweilig Abfrage von Vokabeln: Die Entscheidung für den nächsten zu zeichnenden Punkt wird mit Hilfe des Funktionswerts des... getroffen. -trivial bis stumpfsinnig Fragen mit komplexeren Antworten (Freitext) sind nicht mit vernünftigem Aufwand zu überprüfen

10 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 10 Didaktische Überlegungen Soll der User Zeichenparameter vorgeben können? Plan in der frühen Phase: User gibt Start- und Endpunkt von Linien vor Algorithmus muss folgende Fälle beachten: -Richtung der Linie -Steigung der Linie (positiv oder negativ) -Steigung der Linie (absolut größer oder kleiner 1) Möglichkeiten: -Fallunterscheidung am Anfang -viele nahezu identische Codeabschnitte -nur ein kleiner Teil wird genutzt -Fallunterscheidungen im Code -Algorithmus wird durch Variablenumdeutungen (z.B. x- vs. y- Koordinate) und if-then-else-Konstrukte unleserlich Alternative: Usereingabe stark einschränken Erkenntnisgewinn in beiden Fällen gering

11 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 11 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

12 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 12 Applets Benötigte Funktionen Anzeige des ausgeführten Codes Anzeige der wichtigsten Variablen Darstellung der Ideallinie Darstellung des Rasters mit vom Algorithmus gesetzten Punkten

13 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 13 Applets Randbedingungen & Lösung Platz beschränkt, Größe durch Templates vorgegeben Code & Variablenwerte müssen lesbar bleiben -Mindestschriftgröße -Code passt nicht komplett in die Appletfläche Code & Variablenwerte werden in die Zeichenfläche eingeblendet Code muss scrollen, so dass der aktuell ausgeführte Bereich sichtbar ist

14 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 14 Applets Ablauf des Algorithmus Automatischer Start -User sieht: Hier passiert etwas. Automatisches Weiterschalten um einen Schritt in einem festen Intervall -Individuelle Einstellmöglichkeit des Intervalls vs. feste Vorgabe Möglichkeit, auf manuelle Kontrolle umzuschalten Reset, um Algorithmus neu zu starten und Zoom/Bildausschnitt zurückzusetzen

15 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 15 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

16 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 16 Implementierung Klasse MyGrid Applets besitzen grundsätzlich gleiche Funktionalität Grafik-Funktionen ausgelagert in Klasse MyGrid -Bereitstellung der Zeichenfläche (erbt von Canvas3D) -Hintergrundraster -Einblendung der Variablenwerte -Einblendung des Pseudocodes -Zeichnen der vom Algorithmus berechneten Punkte -Zeichnen des Midpoints

17 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 17 Implementierung Appletklassen AlgorithmApplet als Oberklasse für alle Applets -Zeichnet die Buttons -Implementiert ActionListener für die Buttons (Callback) -Stellt Callback-Funktion doStep() für den Timer bereit Eigentliche Applets implementieren Algorithmus in doStep()

18 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 18 Implementierung Klassendiagramm

19 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 19 Implementierung Probleme Java3D ist teilweise schwer zu debuggen -Code sieht gut aus, scheint aber nichts zu bewirken Threading beißt sich mit internem Threading von Java3D -MyTimer als Behavior Ausgabe des Pseudocodes nicht einfach -Wahl der Schriftgröße Ausgegebener Pseudocode stimmte nicht mit ausgeführtem Code überein

20 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 20 Implementierung Formeln HTML bietet nur rudimentäre Unterstützung für mathematische Formeln Internet Explorer beherrscht kein MathML Darstellung als Graphik sehr umständlich -Änderungen -Passgenaues Rendering und Einfügen in den Text Wenig Brüche und Wurzeln HTML als kleineres Übel

21 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 21 Agenda Thema Didaktische Überlegungen Applets Implementierung Sonstiges

22 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 22 Sonstiges Programmierung an zwei Lokationen unter komplett verschiedenen Betriebssystemen -Test der Applets und Lernbarumgebung schwierig Dreamweaver-Testversion zu früh installiert -30 Tage Testzeitraum waren vor Beginn der Kurserstellung um Parallel laufendes Seminar hat sehr viel Zeit gefressen Längste Programmiersession: 26 Stunden (vor Abgabe des Codes)

23 CG-Praktikum WS04/05: Rasteralgorithmen , Seite 23 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "Computergraphikpraktikum Rasteralgorithmen WS04/05."

Ähnliche Präsentationen


Google-Anzeigen