3D Modelling (Driedimensionaal modelleren)

Lecturers: Maarten Löffler and Amir Vaxman

Practicals: Nina Rosa, Ron Vanderfeesten, Paolo de Heer

Utrecht University - Computing science and Informatics Bachelor Course

Academic year 2016/17

Official Department page

Website for the previous year

Course E-mail and primary point of contact: uuinfoddm@gmail.com

Course Overview

Important note: following reviews and experience, the course will be considerably different from the previous year, mostly in the sense of practical exercises, testing, and auxiliary material. The wepage is always in construction. All documents will come with a time stamp alongside them, so note they are updated.

Objectives: The students will learn and practice common modern approaches to geometric modelling in three dimensions. The course will cover an in-depth, yet wide, overview of the following stages in the geometry processing and modelling pipeline:

  • Discrete representations of geometry: meshes, spline surfaces, points clouds, and more
  • Acquisition and reconstruction
  • Continuous curves and surfaces
  • Mesh editing and deformation
  • Continuous and discrete analysis of surfaces
  • Remeshing and parametrization
  • Maps between shapes, shape matching
  • Space decomposition and collisions
In addition, the students will receive a concise, but necessary, background in linear algebra and calculus, comprising the following subjects:
  • Vector spaces
  • Linear maps and transformations
  • Linear Equations and reductions
  • Multivariate calculus
  • Numerical optimization and approximation
Structure: The course will comprise the following parts:
  • Lectures (hoorcollege): 16x2 hours lectures, given interchangeably by Maarten and Amir. Check schedule for the exact program.
    Note: The entire material of the classes, which will be tested upon, will be conducted in class. Therefore, the slides, the course notes, and the recommended reading are helpful references, but not necessarily a full account of the material conveyed in this course.
  • Practical sessions (Werkcollege\practicum): bi-weekly meetings with the tutors, designed to help with the practical exercises.

Deliverables: The students will do five programming exercises in total. The subjects are as follows:

  1. Introduction to Blender
  2. Reconstruction from point clouds.
  3. Bézier and B-Spline design
  4. Mesh Parametrization
  5. Mesh Deformation

Grading Policy: The practicals will amount to 10x5=50 points, and the exam as 50 points. To pass the course, the student must pass each deliverable (practical or exam) by at least a 5, and the total average must be at least a 6. Check the retake policy for the practicals below.

The entire course (including student submissions and examinations) will be conducted in English.

Grades: The grades are summarized in this (continuously updated) page (secure cijfers server). Individual feedback is available from Ron Vanderfeesten.


20/June/2017: The 5th practical is published. See deadline in the calendar.

12/June/2017: The grades for the second practical have been published (see "course overview" section).

9/June/2017: The 3rd practical is published. See deadline in the calendar.

19/May/2017: The grades for the first practical have been published (see "course overview" section). In addition, see "Old Exams" section for examinations from the previous years.

2/May/2017: The links to lectures and practical will always be to our mutual google drive. Note that the practical section contains a single link for the entire folder.

25/Apr/2017: Notice submission and pairing details in the practicals section.

21/Apr/2017: Welcome to the the new quarter! the website is now updated to reflect all initial details.

31/Aug/2016: Welcome to the website of 3D modelling! check the course overview.

Material Slides

Below is a list of all lectures and practical lessons. Note the time stamps. The slides will be updated as the 4th quarter advances. Note that you can find the parallel (but not updated) material in last year's website (check link above).
The introductory lecture is available here

Lecture 1
Geometry Representations


Lecture 1 - Geometry Representations
(Last Update: 19/Apr/2017 19:00).

Lecture 1a - Mesh Data Structures
(Last Update: 27/Apr/2016 18:30).

Lecture 2+3
Linear Algebra


Lecture 2 - Linear Algebra I (vectors and matrices)
(Last Update: 2/May/2017 14:00).
Lecture 3 - Linear Algebra II (Linear Systems in practice)
(Last Update: 8/May/2017 09:30)
Lecture Notes: Linear Systems in practice
(Last Update: 18/June/2017 23:30)

Lecture 4

Lecture 4 - Acquisition
(Last Update: 8/May/2017 10:00)

Lecture 5

Lecture 5 - Reconstruction
(Last Update: 10/May/2017 11:30)

Lecture 6

Lecture 6 - Calculus
(Last Update: 16/May/2017 10:00)

Lecture 7
Bézier Curves

Lecture 7 - Bézier Curves
(Last Update: 18/May/2017 12:00)

Lecture 8

Lecture 8 - Splines
(Last Update: 22/May/2017 16:00)

Lecture 9
Curved Surfaces

Lecture 9 - Curved Surfaces
(Last Update: 30/May/2017 11:00)

Lecture 10+11
Continuous and Discrete Shape Analysis

Lecture 10 - Shape Analysis (Last Update: 1/June/2017 10:00)
Lecture 11 - Discrete Shape Analysis (Last Update: 5/June/2017 19:30)

Lecture Notes - The Laplace-Beltrami Operator (Last Update: 16/June/2017 09:30)

Lecture 12

Lecture 12 - Parametrization (Last Update: 8/June/2017 10:00)

Lecture 13
Shape Editing and Deformation

Lecture 13 - Shape Editing and Deformation (Last Update: 13/June/2017 09:00)

Lecture 14
Space Decompositions

Lecture 14 - Space Decomposition (Last Update: 15/June/2017 12:00)

Lecture 15

Lecture 15 - Collision Detection (Last Update: 20/June/2017 11:00)

Lecture 16
Shape Matching

Lecture 16 - Shape Matching (Last Update: 22/June/2017 12:00)

Practical Exercises

Retake policy: Every practical that was graded between 4 and a 6 can be resubmitted. In addition, up to two practicals that were graded below 4 can be resubmitted. All resubmissions must be received by 15 July/2017, 23:59. The grade of the last submitted exercise will count.

Submission policy: The first practical can be submitted individually or in pairs. We recommend individual work, because that way you can experiment with Blender better. The rest of the practicals must be submitted in pairs. For your comfort, we set up a sheet for pair-matching. Please do not abuse it.

The necessary files for all practicals can be found here. For updated handout and submission deadlines, check the calendar below.

Practical Exercise 1: Introduction to Blender

Practical Exercise 2: Reconstruction from Point Clouds.

Practical Exercise 3: de Casteljau for Surfaces.

Practical Exercise 4: Mesh Parameterization.

Practical Exercise 5: As-rigid-as-possible mesh editing.


Below are links to exams and answers from previous years. Warning: the course material has changed significantly over the years. Not all questions in these old exams are about material that was covered in this course, and not all material covered in this course appears in one of the old exams!

This is the reference sheet that will be given in the exam. No other external material (but simple calculators) is allowed.

questions midterm exam 2013 | answers midterm exam 2013 | relevant questions: 2, 4, 5
questions final exam 2013 | answers final exam 2013 | relevant questions: 1, 2, 4, 5, 7, 8, 9
questions retake exam 2013 | | relevant questions: 1, 3, 4, 5, 7, 10
questions midterm exam 2014 | answers midterm exam 2014 | relevant questions: 2, 3, 4, 6
questions final exam 2014 | answers final exam 2014 | relevant questions: 1, 3, 5, 6, 7
questions retake exam 2013 | | relevant questions: 1, 2, 5, 6, 7, 8
questions midterm exam 2015 | answers midterm exam 2015 | relevant questions: 1, 2, 3, 4, 5
questions final exam 2016 | answers final exam 2016 | relevant questions: all
questions retake exam 2016 | answers retake exam 2016 | relevant questions: all
questions exam 2017 | answers exam 2017 | relevant questions: all
questions retake exam 2017 | answers retake exam 2017 | relevant questions: all

Course Schedule back to navigation

Period 4 Schedule


Recommended Reading

The course will draw material from the following textbooks. Note that they might have different notations or explanations, and in this case the lecture material counts.

  1. Polygon Mesh Processing by Botsch et al. We are working to get library copies for that.
  2. Curves and surfaces for CAGD : a practical guide by Gerald Farin. Electronic copy from the UU library.
  3. A Sampler of Useful Computational Tools for Applied Geometry, Computer Graphics, and Image Processing by Cohen-Or et al. We are working to get library copies for that.