Shape Modeling and Geometry Processing

Bunny
course no.
252-0538-00
semester
Spring 2017
lecturer
Olga Sorkine-Hornung
assistants
Roi Poranne, Christian Schüller
lecture
Wed 10-12; CAB, G 51
exercise
Fri 09-10; CAB, G 52
ECTS credit
5 credits

announcements

24.04.17
New due date of assignment 4: Friday 5.5.17, 8:00
24.02.17
First exercise session on Friday 03.03.17
09.02.17
Course webpage updated. Welcome!

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 4 mandatory programming + "pen-and-paper" assignments and one slightly larger programming project. 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 an oral exam at the end of the semester, amounting to 20% of the final grade.

Prerequisites

Introduction to Computer Graphics, 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.


22.02.17
Introduction. Shape representations.

01.03.17
Geometry acquisition. Meshes.
03.03.17
[Exercise 1 handout]

08.03.17
Surface reconstruction.
10.03.17
[Exercise 2 handout]

15.03.17
Normal estimation and PCA. Discrete differential geometry - Curves.
17.03.17
[Grading of Exercise 1]

22.03.17
Discrete differential geometry - Surfaces.
24.03.17
[Optional Exercise 3 handout]

29.03.17
Mesh smoothing and optimization. Curve smoothing MATLAB demos. Reference for knitting the hyperbolic plane shown in class: "Crocheting Adventures with Hyperbolic Planes" by Daina Taimina, AK Peters, 2009.
31.03.17
[Grading of Exercise 2]

05.04.17
Parameterization I.
07.04.17
[Exercise 4 handout]

12.04.17
Parameterization II - slides, class notes.
14.04.17
Easter holiday.

19.04.17
Easter holiday.
21.04.17
Easter holiday.

26.04.17
Introduction to mesh editing. Variational mesh editing I.
28.04.17
[Exercise 5 handout]

03.05.17
Variational mesh editing II. ARAP surface modeling.
05.05.17
[Exercise 6 handout]
[Grading of Exercise 4]

10.05.17
Space deformations. Skeletal animation and skinning.
12.05.17
[Cotangent Laplacian derivation]

17.05.17
Guest lecture by Prof. Mario Botsch about character scanning and motion in VR. Architectural geometry and fabrication-aware geometric modeling.
19.05.17
[Grading of Exercise 5]

24.05.17
Research outlook.
26.05.17
Q&A

31.05.17
Oral examination.
02.06.17
[Grading of 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/GP2017-Assignments

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 :
17.03.2017, 08:00
Demo Date :
17.03.2017, 08:00-10:00 (schedule)
Slides:
Exercise Session 03.03.2017
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 data.

Due Date :
31.03.2017, 08:00
Demo Date :
31.03.2017, 08:00-10:00 (schedule)
Slides:
Exercise Session 10.03.2017
Assignment:
Assignment 2


Optional Exercise 3: Discrete differential geometry

In this optional tutorial you are invited to revisit the various discrete differential quantities on meshes learned in class, and check out other useful features within the provided code base. There will be no grading, however some familiarity with the discrete Laplace operator will be helpful for the next mandatory assignment.

Slides:
Exercise Session 24.03.2017
Assignment:
Exercise 3


Exercise 4: Parameterization

In this exercise you will compute and evaluate mesh parameterizations.

Due Date :
05.05.2017, 08:00
Demo Date :
05.05.2017, 08:00-10:00
Slides:
Exercise Session 07.04.2017
Assignment:
Exercise 4


Exercise 5: Variational mesh editing

In this exercise you will design and implement a shape editing algorithm based on discrete differential principles.

Due Date :
19.05.2017, 08:00
Demo Date :
19.05.2017, 08:00-10:00
Slides:
Exercise Session 28.04.2017
Assignment:
Exercise 5


Exercise 6: Advanced assignment

In this slightly more elaborate exercise you will be provided with a list of research papers and suggestions of topics related to geometric modeling. Your task will be to implement one of these topics using the software that you wrote in the previous assignments.


oral examination

The logistics and schedule for the oral exam will be posted here towards the end of the semester.


YouTube channel - related research results from IGL