ich lerne gerade für meine Computergrafik-Klausur und habe hier folgende Beispielaufgabe zu lösen, an der ich etwas zu knabbern hab:
Gegeben ist eine Funktion quad() die einen Einheitskubus zeichnet (Seitenlängen 1, 1, 1). Hieraus eine Szene mit einem Kubus mit den Ausmaßen (3, 2, 1) und einem Zentrum bei Vektor c E R³ (ich kann hier keine Vektoren darstellen, c ist ein einfacher Vektor, also bitte den kleinen Pfeil darüber dazu denken^^ E soll Element heißen). Die längste Achse zeigt in Richtung (1, 1, 0). Der Betrachter schaut aus unendlicher Entfernung und blickt in Richtung der Y-Achse. Das Projektionszentrum mit dem Augpunkt befindet sich bei Vektor e. Das Ansichtsvolumen besitzt die Größe Vektor a (Höhe, Tiefe, Breite) im Abstand d.
a) Wie sieht die Gesamt-Koordinatentransformation aus?
Das ist simpel und müsste das sein:
p' = P * V* M * p
b)
Defenieren Sie M, V, P mit Rx(alpha), Ry(beta), Rx(gamma) für eine Rotation. Die Verschiebung mit T(Vektor t), wobei t die Strecke darstellt. Und mit S(Vektor s) die Skallierung. Die Matrizen nicht ausschreiben!
Für M müsste das so aussehen:
M = T(c) * Rz(-45) * S(3, 2, 1)
Die Transformation c um den Kubus in sein angegebenes Zentrum zu verschieben, die Rotation um -45° um ihn die längste Achse auf die Diagonale zwischen X- und Y-Achse zu bekommen. Und die Skallierung um den Kubus auf seine Größe zu bekommen. Die Ausführungsreihenfolge ist natürlich dabei beachtet und findet hier von rechts nach links statt.
V = Rx(-90) * T(e)
Hier bin ich mir schon weniger sicher. Die Rotation um -90 damit wir in Richtung der Y-Achse schauen und die Translation um e damit wir den Augpunkt setzen... Verbesserung?
P = (left, right, top, bottom, zNear, zFar)
Hier hörts jetzt ganz auf. Wie soll ich denn bitte die Projektion mittels Rotation, Translation oder Skalierung ausdrücken? Zumal mir ja eigentlich die Werte left, right, top, bottom, zNear, zFar fehlen. Ich hab nur die Infrmation wie das Ansichtsvolumen aussieht. Jemand da ne Idee wie man das umsetzen würde?
c) Schreiben Sie die Matrizen aus b) komponentenweise auf.
Selbes für die V Matrix mit den entsprechenden Komponenten...
Tja und für die P Matrix wär es dann wohl diese hier http://wiki.delphigl.com/index.php/glFrustum Bin mir ja aber sowieso überhaupt nicht sicher bei der Projektsionsmatrix .. da bräuchte ich dringend Hilfe....
d) Schreiben Sie alle OpenGL Befehle auf, die die beschriebene Szene rendert.
Das wär mein Ansatz gewesen ... bitte um Verbesserung!
Ich hoffe es gibt überhaupt welche die sich die Mühe machen das durchzulesen und nachzuvollziehen, denn es ist doch sehr theoretisch. Ich wär sehr dankbar und freue mich über jeden Tipp oder Verbesserung.
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.