1. Übung zu Computergrafik 1

Werbung
1. Übung zu Computergrafik 1
Sommersemester 2011
Jun.-Prof. Thorsten Grosch
Abgabe bis Dienstag, den 19.04.2011 15:00 Uhr
Aufgabe 1: Normalisierung (1,5 Punkte)
Berechnen Sie die Länge der folgenden Vektoren und normalisieren Sie die Vektoren auf Länge Eins:
a)
1
2
3
b)
0
0
15
–1
0
1
c)
Aufgabe 2: Skalarprodukt (1,5 Punkte)
Berechnen Sie die folgenden Skalarprodukte: a)
3
–2
•
4
5
7
3
b)
–5
4
•
0
– 2 c)
3
1
3
0
•
0
4
–5
0
Aufgabe 3: Kreuzprodukt (2 Punkte)
Berechnen Sie folgende Kreuzprodukte: a)
5
–2
×
3
4
0
0
b)
1
0
×
0
0
0
–1
Geben Sie in beiden Fällen an, wohin zeigt der resultierende Vektor in einem Rechts - bzw. Linkssystem
zeigt. Die xy-Ebene ist dabei die Zeichenebene.
Aufgabe 4: Kreuzprodukt senkrecht (3 Punkte)
Zeigen Sie, daß der Vektor
a × b senkrecht auf a steht.
Aufgabe 5: Ebenengleichung (4 Punkte)
2
1
1
Gegeben ist ein Dreieck mit den drei Punkten P 0 = 2 , P 1 = 2 und P 2 = 1 .
1
2
1
a) Geben Sie die Ebenengleichung des Dreiecks in Parameterform an.
b) Geben Sie die Ebenengleichung des Dreiecks in Hesse’scher Normalform ( n 0
• x – d = 0 ) an.
c) Berechnen Sie die Fläche des Dreiecks.
April 12, 2011
1
Aufgabe 6: Fehlersuche (3 Punkte)
Gegeben sind die beiden Vektoren
3
–4
a = 0 und b = – 3 .
4
0
Zur Berechnung des Winkels zwischen den beiden Vektoren werden zwei verschiedene Varianten vorgeschlagen:
a)
a•b
a • b = ab cos α ⇒ α = acos  -----------
ab
a×b
a × b = ab sin α ⇒ α = asin  ---------------
ab
b)
Berechnen Sie den Winkel nach beiden Varianten. Warum sind die beiden Winkel unterschiedlich und
welcher ist der richtige ?
Aufgabe 7: Vektorzerlegung (3 Punkte)
3
--3 und b = 5 . Zerlegen Sie den Vektor a in zwei KompoGegeben sind die beiden Vektoren a =
7
4
--5
nenten: Eine parallele Komponente und eine senkrechte Komponente zu
b.
Aufgabe 8: Kamera (3 Punkte)
y
w
z
2α
f
h
x
Von einer Kamera sind folgende Werte bekannt:
Horizontaler (voller) Öffnungswinkel
2α = 60° , Bildbreite w = 2 und Bildhöhe h = 1.8
a) Berechnen Sie den Abstand f von der Kamera zur Bildebene
b) Berechnen Sie den vertikalen Öffnungswinkel der Kamera
c) Berechnen Sie die Koordinaten des linken oberen Bildpunkts im Kamerakoordinatensystem (x,y,z)
Aufgabe 9: Vektorklasse (2 Punkte)
Implementieren Sie das Kreuzprodukt für die Klasse Vector3D. Sie können sich bei der Programmierung am
Skalarprodukt orientieren. Testen Sie Ihre Funktion mit den Vektoren aus Aufgabe 3.
April 12, 2011
2
Aufgabe 10: Sierpinski Dreiecke (4 Punkte)
Gegeben sind drei Punkte
w
---P0 = 0 , P1 = w , P2 = 2
0
0
h
Schreiben Sie ein Programm punkte.cpp, das folgenden Algorithmus ausführt:
Setze
P = P0
Wiederhole N mal
Wähle zufällig einen Punkt
Setze
P i ( i ∈ { 0, 1, 2 } )
1
P = --- ( P + P i )
2
Zeichne Punkt
P
Legen Sie ein OpenGL Fenster mit Breite w und Höhe h an und setzen Sie glOrtho(0, w, 0, h, -1, 1). Zum
Erzeugen der Zufallszahlen können Sie die Funktion rand() aus stdlib.h verwenden.
Als Zahlenwerte können Sie z.B. w = 600, h = 600, N = 100000 verwenden.
April 12, 2011
3
Herunterladen