Shape Modeling and Geometry Processing

3D Smocking
course no.
252-0538-00
semester
Spring 2025
lecturer
Olga Sorkine-Hornung
associate
lecturers
Jing Ren, Marcel Padilla,
Ruben Wiersma
assistants
Annika Oehri, Aviv Segall, Alexandre Binninger
(contact via adress below only, please)
contact
lecture
Wed 10-12; CAB G 61
exercise
Fri 11-12; CAB G 61
ECTS credits
8 credits

announcements

 
30.01.2025
Course webpage updated. Welcome! Please read the the information about in-person demo sessions in the overview below.

overview

camel sketch

Recent advances in 3D digital geometry processing have created a plenitude of novel concepts for the mathematical representation and interactive manipulation of geometric models. This course covers the fundamentals and some of the latest developments in geometric modeling and digital geometry processing. Topics include surface modeling based on polygonal meshes, surface reconstruction, mesh improvement, discrete differential geometry, interactive shape editing, skinning animation, architectural and structure-aware geometric modeling, geometry for 3D computational fabrication.

Course objectives

The students will learn how to design, program and analyze algorithms and systems for interactive 3D shape modeling and digital geometry processing.

Course work and performance assessment

There will be 5 mandatory programming assignments. A code framework will be provided that allows you to experiment with various algorithms without having to bother much about software infrastructure. The weight of the homework assignments in the final grade will be 80%. There will be a short multiple-choice, individual graded assignment (mini-exam, 60 minutes) during the last lecture slot of the semester, amounting to 20% of the final grade. This year the homework assignments will be graded during live in-person demos; attendance to these sessions is mandatory and the dates are highlighted in the schedule below.

Prerequisites

Introduction to Computer Graphics or Visual Computing or a similar course, solid knowledge of C++ programming. Some background in geometric computing is helpful, but not necessary.

schedule and course notes

Note: Course notes and homework materials are only accessible within the ETH network (addresses 129.132.*). Use VPN to access from outside.

The course schedule is tentative and might be adjusted along the way.


19.02.25
Introduction.
Shape representations.
21.02.25
Intro to libigl.
[Exercise 1 handout]

26.02.25
Geometry acquisition. Meshes.
28.02.25
Exercise 1 Q&A.

05.03.25
Surface reconstruction.
07.03.25
[Deadline Exercise 1] Live demo 1
[Exercise 2 handout]

12.03.25
Normal estimation and PCA.
Discrete differential geometry - Curves, part I.  
14.03.25
Exercise 2 - Presentation + Q&A
19.03.25
Discrete differential geometry - Curves, part II.
Discrete differential geometry - Surfaces, part I.
21.03.25
Exercise 3 - Presentation

26.03.25
Discrete differential geometry - Surfaces, part II.
Mesh smoothing.
28.03.25
[Deadline Exercise 2] Live demo 2
[Exercise 4 handout]

02.04.25
Parameterization I.
04.04.25
no TA session

09.04.25
Parameterization II. Remeshing.
11.04.25
Exercise 4 - Presentation + Q&A

16.04.25
Inter-surface mapping, matching and functional maps.
18.04.25
Exercise 4 - Q&A

23.04.25
Easter holiday.
25.04.25
Easter holiday.

30.04.25
Introduction to mesh editing.
Variational surface based deformation I.
02.05.25
[Deadline Exercise 4] Live demo 4
[Exercise 5 handout]

07.05.25
Variational surface based deformation II.
ARAP surface modeling.
09.05.25
Exercise 5 - Presentation + Q&A

14.05.25
Space deformations.
Skeletal animation and skinning.
16.05.25
Exercise 6 - Presentation + Q&A
[Exercise 6 handout]

21.05.25
Guest lecture
23.05.25
[Deadline Exercise 5] Live demo 5

28.05.25
Mini-exam
30.05.25
Exercise 6 - Q&A

13.06.25
[Deadline Exercise 6]

homework assignments

For the purposes of this class we will be using GitHub. You can find all instructions on the repository's webpage, please follow them carefully.

Repository:https://github.com/eth-igl/GP2025-Assignments/

Note: Copying code (either from other students or from external sources) is strictly prohibited! We will be using automatic anti-plagiarism tools, and any violation of this rule will lead to expulsion from the class.

Course notes and assignment slides are only accessible within the ETH network (addresses 129.132.*). Use VPN to access from outside. Support is provided only for Windows and MacOs: compiling the code with other operating systems is generally possible but the students take full responsibility in this case. We follow a strict "no late submission" policy.


Exercise 1: Mesh "Hello World"

Due Date :
07.03.2025, 10:00
Slides:
Exercise Session 21.02.25
Assignment:
Assignment 1

Exercise 2:

Due Date :
28.03.2025, 10:00
Slides:
Exercise Session 14.03.25
Assignment:
Assignment 2

Exercise 3: (Optional)

Due Date :
None
Slides:
Exercise Session 21.03.2025
Assignment:
Assignment 3

Exercise 4:

Due Date :
02.05.2025, 10:00
Slides:
Exercise Session 11.04.2025
Assignment:
Assignment 4

Exercise 5:

Due Date :
23.05.2025, 10:00
Slides:
Exercise Session 09.05.2025
Assignment:
Assignment 5

Exercise 6:

Due Date :
13.06.2025, 10:00
Slides:
Exercise Session 16.05.2025
Assignment:
Assignment 6


YouTube channel - related research results from IGL