prev up next


Aufgabe 8.2 (45 Punkte)

Kopieren Sie die das JAR-File /home/cg/Uebung/Blatt8/Aufg/draw3d-uebung.jar  in Ihr Arbeitsverzeichnis.

Machen Sie sich mit der vorliegenden Applikation vertraut, so dass Sie ihrem Tutor Fragen zum Aufbau und der Umsetzung der Viewing-Pipeline beantworten können.

In dieser Aufgabe sollen Sie die Viewing-Pipeline in Java implementieren. Dazu ist in der obigen Applikation bereits ein Großteil der Vorarbeit geleistet. Zur Umsetzung der Viewing-Pipeline müssen Sie noch in der Klasse Camera die gekennzeichneten Methoden zur Berechnung der Matrizen implementieren. Hierzu können Sie die einzelnen Schritte von Aufgabe 1 zur Hilfe nehmen, sofern Sie diese bereits bearbeitet haben. Die in Aufgabe 1 beschriebene Ausgangslage liegt genauso in der Applikation vor, so dass Sie auch zunächst zum Testen Ihre Ergebnisse aus Aufgabe 1 statisch einfügen und so überprüfen können. Beachten Sie, dass die Applikation natürlich keine statischen Matritzen berechnen soll, sondern die Berechnung auf Basis der übergebenen Werte (eyePoint, lookAtPoint, etc.) vornehmen muss, so dass sich die Projektion ändert, wenn im DrawingPanelViewController die Angaben zur Kamera verändert werden.

Hinweis: Betrachten Sie zunächst den Funktionsumfang der Klassen Vertex, die einen 3D-Punkt in homogenen Koordinaten repräsentiert bzw. einen Vektor, sowie den der Klasse Matrix. Weiterhin können Sie die feste Ausgangsgröße von 640x480 beibehalten und müssen nicht auf eine Größenveränderung des Fensters reagieren.

Musterlösung vom 09.06.2010:
Die Lösungen zu den Aufgaben finden sich hier: /home/cg/Uebung/Blatt8/Lsg/draw3d-mlg.jar .


prev up next