- course no.
- 252-0538-00
- semester
- Spring 2022
- lecturer
- Olga Sorkine-Hornung
- assistants
- Jing Ren, Alexandre Binninger, Lingchen Yang, Floor Verhoeven (on leave)
- lecture
- Wed 10-12; CAB, G 61, livestream
- video recording
- ETH video portal
- exercise
- Fri 11-12; CAB, G 61
- forum
- Moodle
- ECTS credits
- 8 credits
announcements
- 09.02.22
- Course webpage updated. Welcome!
overview
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 6 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 100%. There will be no written exam this year.
Prerequisites
Introduction to Computer Graphics or Visual Computing or a similar course, experience with 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 will be adjusted along the way.
- 23.02.22
-
Introduction.
Shape representations.
- 25.02.22
- Intro to libigl.
- [Exercise 1 handout]
- 02.03.22
- Geometry acquisition. Meshes.
- 04.03.22
- Exercise 1 - Q&A
- 09.03.22
- Surface reconstruction.
- 11.03.22
- No exercise session
- [Deadline Exercise 1]
[Exercise 2 handout] - 16.03.22
-
Normal estimation and PCA.
Discrete differential geometry - Curves, part I. - 18.03.22
- Exercise 2 - Presentation
- 23.03.22
-
Discrete differential geometry - Curves, part II.
Discrete differential geometry - Surfaces, part I.
- 25.03.22
- Exercise 2 - Q&A
- 30.03.22
- Discrete differential geometry - Surfaces, part II.
Mesh smoothing.
Curve smoothing MATLAB demos. - 01.04.22
- [Deadline Exercise 2]
- [Exercise 3 handout]
- 06.04.22
- Parameterization I.
- 08.04.22
- Exercise 3 - Q&A
- 13.04.22
- Parameterization II. Remeshing.
- 15.04.22
- Easter holiday.
[Deadline Exercise 3]
[Exercise 4 handout].
- 20.04.22
- Easter holiday.
- 22.04.22
- Easter holiday.
- 27.04.22
- Inter-surface mapping, matching and functional maps.
- 29.04.22
- Exercise 4 - Presentation
- 04.05.22
- Introduction to mesh editing. Variational surface based deformation I.
- 06.05.22
- [Exercise 5 handout].
Exercise 4 - Q&A - 11.05.22
-
- Variational surface based deformation II. ARAP surface modeling.
- Variational surface based deformation II. ARAP surface modeling.
- 13.05.22
- Exercise 5 - Presentation
[Deadline Exercise 4]
- 18.05.22
- Space deformations. Skeletal animation and skinning.
- 20.05.22
- [Exercise 6 handout]
Exercise 5 - Q&A - 25.05.22
- Current topics in geometry processing research at IGL.
Developable approximation via Gauss image thinning.
Urban Modeling
- 27.05.22
- [Deadline Exercise 5]
- Q&A
- 01.06.22
- Guest lecture by Prof. Mario Botsch on avatars!
- 03.06.22
- Q&A
- 10.06.22
- [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.
Note: Course notes and assignment slides are only accessible within the ETH network (addresses 129.132.*). Use VPN to access from outside.
Exercise 1: Mesh "Hello World"
In this exercise you will familiarize yourself with the provided code framework and perform some basic operations on a mesh.
- Due Date :
- 11.03.2022, 10:00
- Slides:
- Exercise Session 25.02.22
- Assignment:
- Assignment 1
Exercise 2: Surface reconstruction
In this exercise you will compute a water-tight surface mesh by fitting an implicit function to point cloud.
- Due Date :
- 01.04.2022, 10:00
- Slides:
- Exercise Session 18.03.22
- Assignment:
- Assignment 2
Exercise 3: Normals and curvature
In this exercise you will experiment with various fundamental discrete differential quantities and implement mesh smoothing flows.
- Due Date :
- 15.04.2022, 10:00
- Slides:
- Exercise Session 01.04.2022
- Assignment:
- Assignment 3
Exercise 4: Mesh parameterization
In this exercise you will parameterize a mesh by minimizing four different distortion measures, with fixed or free boundaries. Visualize the distortion by color coding.
- Due Date :
- 13.05.2022, 10:00
- Slides:
- Exercise Session 29.04.2022
- Assignment:
- Assignment 4
Exercise 5: Detail-preserving mesh editing
In this exercise, you will implement an algorithm to interactively deform 3D models. You will construct a two-level multi-resolution surface representation and use naive Laplacian editing to deform it.
- Due Date :
- 27.05.2022, 10:00
- Exercise Session 13.05.2022
- Assignment:
- Assignment 5
Exercise 6: Harmonic skinning weights computation and skeletal character deformation
In this exercise you will take part in a project about skeletal-based deformation and animation. You will have to read the project description, understand and implement it. You can obviously use libigl and you can reuse any of the code from the previous exercises.
- Due Date :
- 17.06.2022, 10:00
- Exercise Session 27.05.2022
- Assignment:
- Assignment 6
YouTube channel - related research results from IGL