computergraphikpraktikum rasteralgorithmen ws04 05
Download
Skip this Video
Download Presentation
Computergraphikpraktikum Rasteralgorithmen WS04/05

Loading in 2 Seconds...

play fullscreen
1 / 23

Computergraphikpraktikum Rasteralgorithmen WS04/05 - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

Computergraphikpraktikum Rasteralgorithmen WS04/05. Agenda. Thema. Didaktische Überlegungen. Applets. Implementierung. Sonstiges. Agenda. Thema. Didaktische Überlegungen. Applets. Implementierung. Sonstiges. Thema. Rasteralgorithmen

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Computergraphikpraktikum Rasteralgorithmen WS04/05' - demi


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
computergraphikpraktikum rasteralgorithmen ws04 05
Computergraphikpraktikum

Rasteralgorithmen

WS04/05

agenda
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

agenda1
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

thema
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
thema idee der midpoint algorithmen
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
agenda2
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

didaktische berlegungen kursstruktur
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
didaktische berlegungen probleme
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
didaktische berlegungen quiz als lernkontrolle
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
didaktische berlegungen soll der user zeichenparameter vorgeben k nnen
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
agenda3
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

applets ben tigte funktionen
AppletsBenötigte Funktionen
  • Anzeige des ausgeführten Codes
  • Anzeige der wichtigsten Variablen
  • Darstellung der Ideallinie
  • Darstellung des Rasters mit vom Algorithmus gesetzten Punkten
applets randbedingungen l sung
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
applets ablauf des algorithmus
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
agenda4
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

implementierung klasse mygrid
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
implementierung appletklassen
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()“
implementierung probleme
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
implementierung formeln
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
agenda5
Agenda

Thema

Didaktische Überlegungen

Applets

Implementierung

Sonstiges

sonstiges
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)