+ All Categories
Home > Documents > Computergraphikpraktikum Rasteralgorithmen WS04/05

Computergraphikpraktikum Rasteralgorithmen WS04/05

Date post: 10-Jan-2016
Category:
Upload: demi
View: 40 times
Download: 2 times
Share this document with a friend
Description:
Computergraphikpraktikum Rasteralgorithmen WS04/05. Agenda. Thema. Didaktische Überlegungen. Applets. Implementierung. Sonstiges. Agenda. Thema. Didaktische Überlegungen. Applets. Implementierung. Sonstiges. Thema. Rasteralgorithmen - PowerPoint PPT Presentation
23
Computergraphikpraktikum Rasteralgorithmen WS04/05
Transcript
Page 1: Computergraphikpraktikum Rasteralgorithmen WS04/05

ComputergraphikpraktikumRasteralgorithmenWS04/05

Page 2: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 2

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 3: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 3

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 4: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 4

Thema

• Rasteralgorithmen

• Grundlage: Foley/van Dam/Feiner/Hughes: Computer Graphics: Principles and Practice, Kapitel 3.2 - 3.4

• Midpoint-Line-Algorithm

• Midpoint-Circle-Algorithm

• Midpoint-Ellipse-Algorithm

• Zielgruppe

• Studenten der Informatik

• an GDV interessierte Personen

Page 5: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 5

ThemaIdee 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

Page 6: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 6

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 7: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 7

Didaktische ÜberlegungenKursstruktur

• 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

Page 8: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 8

Didaktische ÜberlegungenProbleme

• 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

Page 9: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 9

Didaktische ÜberlegungenQuiz 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

Page 10: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 10

Didaktische ÜberlegungenSoll 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

Page 11: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 11

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 12: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 12

AppletsBenötigte Funktionen

• Anzeige des ausgeführten Codes

• Anzeige der wichtigsten Variablen

• Darstellung der Ideallinie

• Darstellung des Rasters mit vom Algorithmus gesetzten Punkten

Page 13: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 13

AppletsRandbedingungen & 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

Page 14: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 14

AppletsAblauf 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

Page 15: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 15

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 16: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 16

ImplementierungKlasse 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

Page 17: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 17

ImplementierungAppletklassen

• „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()“

Page 18: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 18

ImplementierungKlassendiagramm

Page 19: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 19

ImplementierungProbleme

• 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

Page 20: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 20

ImplementierungFormeln

• 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

Page 21: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 21

Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

Page 22: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, 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)

Page 23: Computergraphikpraktikum Rasteralgorithmen WS04/05

CG-Praktikum WS04/05: Rasteralgorithmen07.03.2005, Seite 23

Vielen Dank für Ihre Aufmerksamkeit


Recommended