Skip to content

Instantly share code, notes, and snippets.

@lava
Created March 8, 2011 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lava/860193 to your computer and use it in GitHub Desktop.
Save lava/860193 to your computer and use it in GitHub Desktop.
CG Test Exercises
\documentclass{exam}
\begin{document}
\begin{questions}
\section{Koordinatensysteme und Geometrie}
\titledquestion{Kameramodell}
Gegeben sei eine Kamera $C$ mit Projektionszentrum ${\mathbf{e}}$, Ziel-Vektor $\mathbf{z}$ und normalisiertem Up-Vektor $\mathbf{up}$.
\begin{parts}
\part
Bestimme die Basisvektoren des Kamerakoordinatensystems von $C$.
\begin{solution}
Es ist $\mathbf{w} = \left(\mathbf{e} - \mathbf{z}\right) / \left| \mathbf{e} - \mathbf{z} \right|$,
$\mathbf{u} = \left( \mathbf{up} \times \mathbf{w} \right) / \left| \mathbf{up} \times \mathbf{w} \right|$ und
$\mathbf{v} = \mathbf{w} \times \mathbf{u}$.
\end{solution}
\part
Mit welcher Matrix kann ein Vektor aus dem Weltkoordinatensystem in das Kamerakoordinatensystem transformiert werden?
\begin{solution}
\[
M = \left( \begin{array}{ccc}
u_x & u_y & u_z \\
v_x & v_y & v_z \\
w_x & w_y & w_z \end{array} \right)
\]
\end{solution}
\uplevel{Die Bildebene der Kamera sei durch die Parameter $d$, $l$, $r$, $b$, $t$ festgelegt.}
\part
Was sind die Weltkoordinaten eines Punktes $\mathbf{s}$ mit den Bildkoordinaten $\left(u, v\right)$, $u\in\left[l,r\right]$, $v\in\left[b,t\right]$?
\begin{solution}
$\mathbf{s} = u \cdot \mathbf{u} + v \cdot \mathbf{v} - d \cdot \mathbf{w}$
\end{solution}
\part
Wie lautet die Strahlgleichung des Strahls, der vom Projektionszentrum ausgehend durch $\mathbf{s}$ verlaeuft?
\begin{solution}
$\mathbf{r}\left(t\right) = \mathbf{e} + t\mathbf{d}$, mit $\mathbf{d} = \frac{\mathbf{s}-\mathbf{e}}{\left|\mathbf{s}-\mathbf{e}\right|}$
\end{solution}
\end{parts}
\question
Gegeben seien die Punkte
$p_1 = \left( \begin{array}{c} 1 \\ 1 \\ 1 \end{array} \right)$,
$p_2 = \left( \begin{array}{c} 0 \\ 0 \\ 4 \end{array} \right)$,
$p_3 = \left( \begin{array}{c} 3 \\ 0 \\ 0 \end{array} \right)$,
$p_4 = \left( \begin{array}{c} 0 \\ 1 \\ 0 \end{array} \right)$
\\
Sei $\mathbf{g}$ die Gerade, der vom Ursprung durch $p_1$ verlaeuft.
\begin{parts}
\part
Bestimme die Schnittpunkte von $\mathbf{g}$ mit einer Kugel mit Radius 2 um $p_1$.
\part
Bestimme den Schnittpunkt von $\mathbf{g}$ mit der Ebene, die von den Punkten $p_2$, $p_3$, $p_4$ aufgespannt wird.
\part
Bestimme die baryzentrischen Koordinaten bezueglich des Dreiecks $\mathbf{d}$ mit den Eckpunkten $p_2$, $p_3$, $p_4$
\part
\begin{subparts}
\uplevel{In einer Normal Map wurden den Eckpunkten des Dreiecks die Normalen $n_2$, $n_3$, $n_4$ zugewiesen.}
\subpart
Berechne den reflektierten Strahl $\mathbf{g}_r$ bezueglich der tatsaechlichen Normalen von $\mathbf{d}$.
\subpart
Berechne den reflektierten Strahl $\mathbf{g}_r$ bezueglich der interpolierten Normalen am Schnittpunkt.
\end{subparts}
\end{parts}
\question
Geben sie die implizite und die parametrisierte Darstellung eines Kreises mit Mittelpunkt $m = \left( \begin{array}{c} 2 \\ 1 \end{array} \right)$ und Radius $r=4$ an.
\question
\begin{parts}
\part
Das Bild wie vieler 3D-Punkte muss man angeben, damit eine affine Transformation eindeutig festgelegt ist?
\begin{solution}
4 (LGS mit 12 Unbekannten)
\end{solution}
\part
Das Bild wie vieler 3D-Punkte muss man angeben, damit eine projektive Transformation eindeutig festgelegt ist?
\begin{solution}
5 (4x4-1 Unbekannte)
\end{solution}
\end{parts}
\question
Beweise: Seien $g_1\left(x,y,z\right)$, $g_2\left(x,y,z\right)$ zwei Geraden im projektiven Raum $P\left(R^3\right)$. Dann schneiden sich $g_1$ und $g_2$.
\begin{solution}
Betrachte die Dehomogenisierungen $G_1\left(x,y\right) = g_1\left(x,y,1\right)$, $G_2\left(x,y\right) = g_2\left(x,y,1\right)$.
Schneiden sich $G_1$ und $G_2$ in einem Punkt $\left(x,y\right)$, dann schneiden sich $g_1$ und $g_2$ in $\left(x,y,1\right)$.
Andernfalls sind $G_1$ und $G_2$ parallel, also $G_1\left(x,y\right) = ax + by + c_1$ und $G_2\left(x,y\right) = ax + by + c_2$.
Dann ist $g_1\left(b,-a,0\right) = g_2\left(b,-a,0\right) = 0$, d.h. $g_1$ und $g_2$ schneiden sich in $\left(b, -a, 0\right)$.
\end{solution}
\section{Raytracing}
\question
Welche raeumlichen Datenstrukturen zur Beschleunigung des Raytracing gibt es? Nenne jeweils Vor- und Nachteile.
\question
Welche Strategien zur Unterteilung der Knoten in einem Kd-Baum gibt es?
\question
Was sind die Kosten der Traversierung eines Knotens eines kd-Baums? Formel + Erlaeuterung.
\question
Formel fuer das Phong-Beleuchtungsmodell?
\section{Rasterisierung und OpenGL}
\question
Vor- und Nachteile eines Z-Puffers?
\question
Unterschied von Gouraud- und Phong-Shading?
\section{Kurven und Flaechen}
\section{Wahr/Falsch-Fragen}
Bei Falsch-Antwort mit kurzer Begruendung.
\question
Bei isotropen Materialien gilt fuer die BRDF: $f_r\left( \theta_i, \phi_i, \mathbf{x}, \theta_r, \phi_r \right) = f_r\left( \theta_i, \phi_i + \Delta \phi_r, \mathbf{x}, \theta_r, \phi_r + \Delta \phi_r \right)$
\begin{solution}
Ja
\end{solution}
\question
Phong-Shading erzeugt bei Kanten mit einem Innenwinkel kleiner als $\frac{\pi}{2}$ immer sichtbare Artefakte.
\begin{solution}
????
\end{solution}
\question
Sind $\mathbf{a}$ und $\mathbf{b}$ zwei normalisierte Vektoren, dann gilt $\left| \alpha \mathbf{a} + \left( 1 - \alpha \right) \mathbf{b} \right| = 1$
\begin{solution}
Falsch, z.B. $\frac{1}{2} \left( \begin{array}{c} 1 \\ 0 \end{array} \right) + \frac{1}{2} \left( \begin{array}{c} -1 \\ 0 \end{array} \right) = 0$
\end{solution}
\question
Seien $A$ und $B$ Kugeln mit Volumina $V_A$ und $V_B$, und $B$ sei komplett in $A$ enthalten. Dann ist die Wahrscheinlichkeit $W$, dass ein zufaelliger Strahl durch $A$ auf $B$ trifft $W = \frac{V_B}{V_A}$.
\begin{solution}
Falsch, die Wahrscheinlichkeit haengt nur von den Oberflaechen von $A$ und $B$ ab.
\end{solution}
\question
Es sei $f\left(x,y\right) = 0$ die implizite Form einer Gerade. Dann existiert auch eine explizite Form $y = f(x)$.
\begin{solution}
Falsch, Gegenbeispiel: $f\left(x,y\right) = x$
\end{solution}
\question
Es gibt Mengen die weder konvex noch konkav sind, und es gibt Mengen die sowohl konvex als auch konkav sind.
\begin{solution}
Wahr.
\end{solution}
\question
Liegt ein Polygon auf einer Ebene die parallel zur Bildebene ist, so koennen Attribute nach der Rasterisierung linear aus den Eckpunkten interpoliert werden.
\begin{solution}
Wahr
\end{solution}
\question
Die Suche des naechsten Objektes zu einem Punkt $\mathbf{e}$ in einem kd-Baum ist im worst-case $O(n)$, wobei $n$ die Anzahl der Objekte ist.
\begin{solution}
Wahr.
\end{solution}
\question
-
\begin{solution}
\end{solution}
\section{Wissensfragen}
\question
Wofuer steht die Abkuerzung BRDF, und womit kann man eine BRDF messen?
\begin{solution}
Bidirectional reflectance distribution function, mit einem Goniometer
\end{solution}
\question
Worauf ist zu achten, wenn die Normale einer Oberflaeche mithilfe der baryzentrischen Koordinaten interpoliert wird?
\begin{solution}
Die interpolierte Normale ist im Allgemeinen nicht mehr normalisiert.
\end{solution}
\question
Was besagt Crofton's Theorem?
\begin{solution}
Gegeben zwei konvexe Objekte A und B, wobei B komplett enthalten ist. Dann ist die Wahrscheinlichkeit dass ein zufaelliger Strahl durch A auch B trifft $P = \frac{SA\left(B\right)}{SA\left(A\right)}$
\end{solution}
\question
Wie ist die implizite Darstellung der Gerade durch die Punkte $\left( \begin{array}{c} 1 \\ 1 \end{array} \right)$ und $\left( \begin{array}{c} 3 \\ 2 \end{array} \right)$
\begin{solution}
$F\left(x,y)\right) = \left( y - y_0\right) - m\left( x - x_0 \right)$
\end{solution}
\question
Wozu wird der Algorithmus von Cohen-Sutherland verwendet?
\begin{solution}
Zum effizienten Clipping von Linien.
\end{solution}
\question
Wie funktioniert der Maler-Algorithmus? (Painter's Algorithm)
\begin{solution}
Sortiere Polygone nach Abstand zur Kamera und zeichne die hintersten zuerst.
\end{solution}
\question
Wozu dient der Odd/Even-Test?
\begin{solution}
Feststellen ob ein Punkt inner- oder ausserhalb eines beliebigen Polygons liegt.
\end{solution}
\question
Wie interpoliert man die Texturkoordinate $s$ eines Dreiecks perspektivisch korrekt?
\begin{solution}
Interpoliere $\frac{1}{z}$ und $\frac{s}{z}$ linear und berechne $s = \frac{s}{z} / \frac{1}{z}$
\end{solution}
\question
Wozu dient der Algorithmus von Sutherland-Hodgeman?
\begin{solution}
Clipping eines Polygons gegen eine konvexe Clip-Region
\end{solution}
\question
-
\begin{solution}
\end{solution}
\end{questions}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment