Click here to check the course website.

Supervision work is due by 5pm (17:00) on the day before the supervision. Partial work is perfectly fine as long as it's clear that you made an effort and it is visible from your work where you got stuck.

Feel free to attach any questions to your work.

Supervision questions based on the question set by the lecturer.

Supervision 1

Warmup questions

  1. Name four different ways to represent geometry
  2. What is a manifold and how does it differ from a manifold with boundaries ?
  3. What is the parametric representation of a circle in 2D?
  4. What is the implicit curve representation of a circle in 2D?
  5. How do you compute the surface normal n for a parametric surface?
  6. What data structure is used to represent triangle meshes? That is: how is the data that describes a triangle mesh stored? Which parts of this data structure pertain to the topology and which to the geometry of a surface?

Longer questions

  1. (Briefly) compare and contrast the different ways to represent geometry. Focus on the advantages and disadvantages of each approach. (This is not an essay question; a table/list or some equivalent works probably best).
  2. Which geometry representations work well with texture mapping?
  3. What geometric shape does the following planar curve describe?
  4. Below you find the parametrisation of a torus. Compute the surface normal n for
  5. The following implicit equation describes an ellipsoid in
    1. Find a parametric equation that describes the same ellipsis. Hint: start off with the parametric equation of a sphere and then modify
    2. Prove that P = (2, 2, −11) lies on the ellipsoid’s surface.
    3. Determine the surface normal n at point P .
  6. If we define a curve in R 3 with the implicit function f(x, y) = x 2 y 2 , what problem could there arise when computing the surface normal?

  7. Compute the Laplacian of the given functions f( x ) (assume that everything except for x is constant, x is a vector, x T is x transposed).

  8. https://www.cl.cam.ac.uk/teaching/exams/pastpapers/y2021p7q6.pdf (a), (b), (c)

Supervision 2

Lecture 3

  1. Briefly describe the main steps of shape acquisition.
  2. ( Short ) What is the difference between active and passive optical scanning systems and what are the advantages of passive systems?
  3. ( Short ) Briefly describe the steps of the iterative closest point algorithm.

Lectures 4 and 5

  1. ( Short ) What is rigging? Briefly describe what kind of structure and data are added to the geometry/surface model.
  2. Read https://cs.gmu.edu/~jmlien/teaching/cs451/uploads/Main/dual-quaternion.pdf
  3. What is the advantage of representing rigid transformations with dual quaternions for blending?
  4. In a programming language of your choice, implement a DualQuaternion class and test it with some sensible data. You should be able to construct a dual quaternion from translations and rotations, and apply it to a 3D vector. Sources you can use if you get stuck: https://cs.gmu.edu/~jmlien/teaching/cs451/uploads/Main/dual-quaternion.pdf , https://faculty.sites.iastate.edu/jia/files/inline-files/dual-quaternion.pdf
  5. Briefly explain one fundamental disadvantage of using quaternions based shortest path blending for rotations as compared to linear blend skinning (i.e. averaging rotation matrices). Hint: think about the continuity of both blending methods for 2D rotations

  6. https://www.cl.cam.ac.uk/teaching/exams/pastpapers/y2021p7q6.pdf (d)

Supervision 3

Lecture 6

  1. (short) What is the BRDF?
  2. (short) What is the rendering equation? Describe each term.

Lecture 7

  1. (short) How is path tracing an example of a Monte Carlo Algorithm?
  2. Simple 3D engines often approximate lighting as the superposition/combination of diffuse ambient light and direct illumination from point sources. This is a rather crude (yet efficient) approximation to the full rendering equation. What kind of effects are not captured by this simple approximation, i.e. what kind of visual effects cannot be rendered?
  3. If there is only diffuse ambient light, we can easily determine the radiosity of a point on the surface through ambient occlusion, i.e. by measuring how much of the ‘sky’ is visible from that specific point. Briefly describe how information about the curvature of a surface can help in this situation.

Lecture 8

  1. (short) Describe the visibility term.

Past paper

2022 Paper 7 Question 7


  1. Run https://www.shadertoy.com/view/MtfGR4 . Questions: how does the sample count affect the quality of the rendering, and how does it affect the performance?
    If interested, then check out this page on denoising in ray tracing: https://developer.nvidia.com/blog/ray-tracing-essentials-part-7-denoising-for-ray-tracing/
  2. Try out the gradient-based opt. Mitsuba/DrJit tutorial ( https://mitsuba.readthedocs.io/en/stable/src/inverse_rendering/gradient_based_opt.html )
  3. Extension: Can you change the tutorial above so you move the metal sphere and the optimised needs to move it back? What makes this harder than the previous example, where you just adjusted the colour?
  4. Extension: Try out the volumetric inverse rendering tutorial ( https://mitsuba.readthedocs.io/en/stable/src/inverse_rendering/volume_optimization.html )

_Revision questions