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 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

3 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

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 Thema Idee der Midpoint-Algorithmen
Beschreibung der anzunähernden Zeichenprimitive über implizite Gleichung: z.B.: F(x, y) = x2 + y2 - R2 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 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

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 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 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 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 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

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 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 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 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

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 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 Implementierung Klassendiagramm

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 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 Agenda Thema Didaktische Überlegungen Applets Implementierung
Sonstiges

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 Vielen Dank für Ihre Aufmerksamkeit


Herunterladen ppt "Computergraphikpraktikum Rasteralgorithmen WS04/05"

Ähnliche Präsentationen


Google-Anzeigen