29.04.2015 Aufrufe

4. Übung zu Computergrafik 1

4. Übung zu Computergrafik 1

4. Übung zu Computergrafik 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Aufgabe 1: Transformationen (4 Punkte)<br />

<strong>4.</strong> Übung <strong>zu</strong> <strong>Computergrafik</strong> 1<br />

Sommersemester 2011<br />

Jun.-Prof. Thorsten Grosch<br />

Abgabe bis Dienstag, den 10.05.2011 15:00 Uhr<br />

Geben Sie für die Fälle a)-e) an, welche Transformationen aus dem Original durchgeführt wurden. Geben<br />

Sie auch die <strong>zu</strong>gehörige 3x3 Transformationsmatrix an. Falls Sie die Transformation als Produkt mehrerer<br />

Matrizen darstellen, geben Sie die einzelnen Matrizen und die resultierende Matrix an.<br />

y<br />

Original<br />

2<br />

1<br />

y<br />

a) b)<br />

2<br />

2<br />

y<br />

1<br />

x<br />

c)<br />

2<br />

y<br />

1<br />

1<br />

1<br />

1<br />

x<br />

1<br />

2<br />

1<br />

2<br />

x<br />

d)<br />

2<br />

y<br />

e)<br />

2<br />

y<br />

1<br />

60°<br />

1<br />

x<br />

x<br />

1<br />

2 3 4<br />

1<br />

2<br />

Aufgabe 2: Spezial Skalierung (3 Punkte)<br />

Konstruieren Sie eine 3x3 Matrix, die ein Objekt entlang der Achse<br />

um den Faktor 3 skaliert.<br />

3 ⁄ 2<br />

1 ⁄ 2<br />

y<br />

x<br />

May 3, 2011 1


Aufgabe 3: Inverse Transformationen (4 Punkte)<br />

Gegeben sind folgende 4x4-Transformationsmatrizen. Beschreiben Sie bei jeder Matrix, welche Transformation<br />

mit einem Punkt durchgeführt wird und invertieren Sie die Matrix.<br />

M 1<br />

=<br />

0 3 0 0<br />

M 2<br />

=<br />

0 1 0 5<br />

M 3<br />

=<br />

0 1 0 0<br />

0 0 4 0<br />

0 0 1 7<br />

0 0 – 1 0<br />

2 0 0 0<br />

1 0 0 3<br />

– 1 0 0 0<br />

0 0 0 1<br />

0 0 0 1<br />

0 0 0 1<br />

M 4 =<br />

1 1<br />

------ ------ 0 2 M 5<br />

=<br />

0 0 0 0<br />

2 2<br />

0 0 1 0<br />

1 1<br />

------ –------<br />

0 1<br />

2 2<br />

1 0 0 0<br />

0 0 1 3<br />

0 0 0 1<br />

0 0 0 1<br />

Aufgabe 4: Farbwürfel (7 Punkte)<br />

a) Schreiben Sie eine Klasse ColorCube <strong>zu</strong>m Zeichnen eines farbigen Würfels. Der Würfel soll achsenparallel<br />

im Bereich (0,0,0) bis (1,1,1) liegen. Die Würfelseiten sollen verschiedene Farben haben (Rot, Grün,<br />

Blau, Cyan, Magenta, Gelb). Stellen Sie die Projektion auf glOrtho(-0.5, 1.5, -0.5, 1.5, -10, 10).<br />

y<br />

Numerierung der Eckpunkte<br />

3<br />

OpenGL Fenster<br />

1<br />

2<br />

7<br />

6<br />

z<br />

1<br />

1<br />

b) Der Würfel soll sich jetzt ununterbrochen um seinen Mittelpunkt drehen. Die Pfeiltasten sollen dabei die<br />

Rotationsgeschwindigkeit um die x - und y-Achse verändern, d.h. mehrfaches Drücken einer Pfeiltaste soll<br />

die Rotationsgeschwindigkeit um die Achse erhöhen. Verwenden Sie die idle() Funktion um die display()<br />

Funktion permanent auf<strong>zu</strong>rufen. Für die Abfrage der Pfeiltasten gibt es eine eigene GLUT Funktion:<br />

void special(int key, int x, int y)<br />

{<br />

switch (key) {<br />

case GLUT_KEY_UP : /* code for up */ break;<br />

case GLUT_KEY_LEFT : /* code for left */ break;<br />

...<br />

}<br />

}<br />

void idle()<br />

{<br />

glutPostRedisplay();<br />

}<br />

void main()<br />

{ ...<br />

glutIdleFunc(idle);<br />

glutSpecialFunc(special);<br />

}<br />

x<br />

4<br />

0<br />

5<br />

1<br />

May 3, 2011 2

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!