This lists some questions, without answer, with which you can test how much you know.

- What is the difference between
*subdivision*and*refinement*? - What does
*isotropic*and*anisotropic*mean? - What is the difference between
*topology*and*geometry*? - Is radiosity possible for specular surfaces? (hint: http://portal.acm.org/citation.cfm?id=37438&coll=portal&dl=ACM , http://www.cs.huji.ac.il/labs/cglab/papers/clustering/ )
- What is linear precision? In respect of {splines|parameterisation|smoothing}?
- What is anisotropic filtering?
- What is the difference between the Aitken Neville Scheme and the de Boor recursion?
- How can we express a {uniform|nonuniform} Spline in terms of a box-spline?

# Questionnaire

You can find a very *meticulous* quiz about the four subjects under http://www.malte-weiss.de/cgquiz

I am sorry but the quiz is written in German. Feedback is always welcome.

# Exam questions

This part contains questions that have been asked in a similar form in the oral examination. These can also be found with some answers in the link section.

## CG 1

- What have we done in CG1?
- What steps does the rendering-pipeline contain?
- Which 3D-transformations do you know?
- How do you rotate around an arbitrary axis?
- Write down a {rotation|translation|scale|shear} matrix!
- Which projective mappings have been discussed?
- How do you rasterise lines? Without using float computations? Why are we using decision variables for that?
- What volume-rendering methods do you know?
- Discuss the difference between Ray-Casting and Splatting!
- Explain extended coordinates!
- Explain homogeneous coordinates!
- {Compare|enumerate|explain} the {line|polygon} clipping algorithms!
- Translation and rotation matrices combined into one, what is the order of applications of T and R?
- What is the formula for diffuse reflection? How can it be justified?
- Explain direct-illumination techniques for shadow computation!
- How does {shadow mapping|shadow volumes|shadow textures} {compare|work}?
- Which method is the best to simulate a room with a single candle?
- Can shadow volumes be calculated on the GPU?
- How does volume ray casting work? How can you compute the accumulated color value?
- Explain raytracing!
- Explain the Phong model!
- How can the cosine term in the diffuse and specular components be explained?
- What does the attenuation term model?
- Which one is the best shadow method? (trick question)
- Explain the {standard|general} projection matrix!
- How do we transform normals?
- How does shading work?
- How can we realize a spotlight?
- Describe the flaws of Shadow-Mapping!
- Explain classic multi-point perspective constructions!
- What is a vanishing point?
- What is a Spurgerade? (What is it, anyway? ;-)
- What is perspective division?
- How do we rasterize triangles? What problems can occur, and how can they be solved?
- How does anti-aliasing work?
- How does dithering work?

## CG 2

- How do you convert a point cloud to a mesh?
- What is a Voronoi Diagram?
- What is Voronoi Filtering?
- How do we process 3D laser scan data? Explain direct/indirect methods!
- How is registration performed?
- What methods of global illumination do you know?
- Explain radiosity!
- How can you accelerate radiosity?
- Explain hierarchical radiosity! What is its complexity?
- What is image based rendering?
- What is a visual hull?
- What is a light field?
- What is a lumi graph?
- What is the difference between both?
- Show and explain the rendering equation of Kajiya? How is he spelled correctly?
- Explain the BRDF!
- Explain Monte Carlo methods!
- Explain Photon Mapping!
- Explain the light particle path notation!
- How can an implicit function be raytraced?
- Describe some error measures you know!
- How can one interpret the 4D function of the light fields?
- How does the algorithm of Touma/Gotsman work? Explain Alliez extensions to it! How many add/split/merge operations can happen?
- How can we compress a mesh?
- How can we smooth a mesh?
- Explain the umbrella operator!
- Explain the lambda-mu smoothing!
- What can we choose as the weights for the umbrella operator on a mesh?
- What is the problem with cotangent weights?
- What is a shape preserving weight?
- How does ICP work? How can the rotation be computed?
- Smoothing shrinks the surface, what can we do against it?
- Explain monte carlo path tracing!
- What is the advantage of MCPT compared to ray tracing?
- Explain the idea of solid angles/form factors! "one can compute \cos\teta with the cos distribution function as shown in the lecture. Whats up with the rest of the term"
- Explain valence encoding!
- What is a limit to the compression efficiency?
- Explain entropy coding!
- How does a 3D laser scanner work?
- Explain how quaterion rotation works!
- Explain the idea behind marching cubes!
- How can we reduce the complexity of a extracted mesh?
- What class of algorithms does incremental decimation belong to? (greedy)
- What is {Radiance|Irradiance|Radiosity|Flux|Radiant exitance}?
- How does {gathering|shooting} work? How do they compare?
- What is Push-Pull variant of Radiosity?

## GM1

- What is a spline?
- What is a B-Spline?
- What is the Mansfield-Cox-de-Boor recursion?
- What is a blossom?
- What is the de-Boor algorithm?
- What is the relationship between blossoms and de-Boor?
- What are the divided differences?
- Explain multiple knots! Relation to de-Boor?
- What is a Bezier curve?
- What is the relationship between Bezier curves and Splines?
- What is $B^n_i$?
- Can any polynomial be described in the Bezier Basis?
- How many Bezier functions do you need for an $n$ dimensional basis?
- How can we evaluate a Bezier curve?
- What can you see in the de Casteljau algorithm?
- What is the blossom of $ax^2+bx+c$?
- Can blossoms be used on B-Splines?
- How does knot-insertion work?
- What happens between the blossoms $F(a,b,b)$ and $F(b,b,a)$?
- How is the spline space defined?
- How can Spline basis functions be derived? (truncated power, convolution, recursion)
- Enumerate the polynomial bases you know!
- What are the properties of blossoms?

## GM2

- How is a Bezier patch defined?
- What are the properties of a Bezier patch?
- What is the C1 condition of Bezier patches?
- What is a Tensor-Product-Patch?
- What is the C1 condition of TP-Patches? Do the vectors have to be of equal size?
- What is a box spline?
- What are the properties of box splines?
- What is the degree of a box spline?
- Construct a Box-Spline of degree X with smoothness Y!
- How does Subdivision of box-splines work?
- How is such a subdivision scheme constructed?
- What is a simplex spline?
- Explain multiple knots wrt. to Box Splines!
- How can we evaluate a {TP-Patch|Bezier-Patch}? How can the derivate be read from this?
- How can we evaluate the derivatives of a {TP-Patch|Bezier-Patch}?
- Why do TP-patches have two parameters, Bezier-Patches 3?
- What is the continuity, degree, support of a box-spline?
- How does a boxspline of degree two and $C^2$ look like?
- Draw the case of projecting a 3D box on a line! How should the box be oriented to
**minimize**the continuity? - How do you join two Bezier patches in a C^{0,1} fashion?
- How can you join cubic patches?
- How does the bivariate case of the Bezier curve look like? (Bezier Patch)
- How does the de Casteljau work on Bezier Patches (graphically)?
- How do you compute directional derivatives of Bezier Patches?
- There is a very well known box-spline, which one is it? (hint: loop)

Additional Protocols:

CG1:

- Homogenous Coordinates

- Rotationmatrix/Translationmatrix

- Projection matrix with on an arbitrary plane through center

- Vanishing points of the aforementioned (small problems here)

- Shadows (Mainly shadow volumes, 3 sentences shadow maps and some sentences to the entire topic)

CG2:

- Laser range scanning

- Registration (ICP)

- Integration (mainly Levoy's paper)

- Mesh smoothing in all its glory

- What are the frequencies in mesh smoothing? (answer: the eigenvectors!)

- Fourier Transformation

- Monte Carlo integration (expected value)

- MCPT in all depth, russian roulette

- rendering equation

GMI:

- Spline space

- B-Splines in all its glory

- De Boor

GM2:

- Box-Splines in all its glory

- B-Splines as Box-Splines

CG1:

- Homogenous Coordinates

- Vanishing points

- Vanishing points from matrices (4th column)

- Bresenham Midpoint Algorithm

- Implicit functions, representation of data (explicit vs implicit), whats better for which task

- boolean operations on implicit functions

- shading of implicit functions

- Euler formula, proof idea

CG2:

- Voronoi diagrams (how does a cell look like, how many edges does a vornoi cell have in average)

- Delaunay triangulation

- mesh smoothing, 3d case, umbrella operator, weights, low pass filter, frequencies, mathematical interpretation of umbrella, cosine, sine (eigenfunctions)

- Mesh compression: Valence Coding + Entropy Encoding + what compression ratios can be achieved

- rendering equation, lambertian term

- MCPT: how to solve integrals, algorithmus, russian roulette

CG1:

- Homogenous Coordinates

- Vanishing points

- Vanishing points from matrices (4th column)

- Bresenham Midpoint Algorithm

- Euler formula, proof idea

- Implicit functions, representation of data (explicit vs implicit), whats better for which task -> CSG

CG2:

- Voronoi diagrams (how does a cell look like, how many edges does a vornoi cell have in average)

- Delaunay triangulation

- mesh smoothing, 3d case, umbrella operator, weights, low pass filter, frequencies, mathematical interpretation of umbrella, cosine, sine (eigenfunctions)

- Mesh compression: Valence Coding + Entropy Encoding + what compression ratios can be achieved

- rendering equation, lambertian term

CG1:

- Voronoi Diagram (how many edges, formula for voronoi cell)

- Bresenham (explain in 3 sentences why it is good and how it works… decision variable, no multiplications, how?)

- Polygon rasterization (Scanline-conversion, how does it work? Special cases/stability: half open right/top)

- Projection (Write projection matrix of own choice, where is viewer etc. How many vanishing points? What is a vanishing point?)

- Multipoint perspectives (how many vanishing points? why?)

- Affine transformations (Rotation matrix, translation)

CG2:

- Delaunay Triangulation (shortly mention some properties)

- Sweepline algorithm (explain how works? complexity)

- Rendering equation (write one of the two formulas)

GM1:

- Spline space (why is it a space? how many DoFs?)

- BSplines (Why a basis? What support? (minimal) Explain all terms in Truncated Power spline definition (Partition of unity, positivity, (minimal) support, and one more thing)

- Evaluation of Spline curves (explain deBoor, what indices for control points?)

GM2:

- Box Splines (some definition, which one is best for proving properties? Name some properties: poly. degree, contin….)

- What is subdivision? (Given some vectors how does support look? what do the subdiv. rules look like? Use 2-scale relation to obtain/create some rules. Apply rules to a mesh)

CG2:

- detailed explanation of contangent and shape preserving weights.

- laserscanner: what problems (angle too small/too large).

- incremental decimation: one million triangles -> how much memory do you need for the error quadrics?

GM1:

- Spline basis: why is the function value outside of the support 0?

- why is the dimension of the splinespace m? explain the dimension. depends on the knots.

CG1:

- Volume Representations? (meshes, implicit, parametric)

- Implicit functions, intersections

- Prove Euler, Valence=?

- Compression Methods?

- Huffman Encoding? Haar Wavelets?

CG2:

- Parametrization: the works!