Geometric Processing

You are here

Credits
6
Types
Elective
Requirements
This subject has not requirements, but it has got previous capacities
Department
CS
This course explores some of the most important algorithms for processing polygonal meshes (mainly triangular meshes). The main topics covered will include the construction of meshes from real objects, the filtering of geometric and topological noise, the parametrization of meshes, their deformation and edition, and their compression.

Weekly hours

Theory
2.5
Problems
0.5
Laboratory
1
Guided learning
0.2
Autonomous learning
8.3

Objectives

1. Upon completing this course, the student will understand the main processes and algorithms behind current-day geometry processing. More specifically they will be
Related competences:
Subcompetences:
• able to understand the main tools to filter geometric and topological noise in meshes
• able to evaluate, understand, implement and use methods to compress geometric meshes
• able to implement and/or use the main mechanisms to deform and edit complex meshes
• able to implement and/or use the main mechanisms to deform and edit complex meshes
• able to understand the main tools to filter geometric and topological noise in meshes
• able to evaluate, understand, implement and use methods to compress geometric meshes

Contents

1. Mathematical Preliminaries
Review concepts the students should already know, establish notation, and introduce some new material that will be needed for the course, including elementary continuous and discrete differential geometry of curves and surfaces.
2. Acquisition of Models; reconstruction, registration, zipping.
Discussion of the techniques whereby we can capture complex geometric meshes from physical objects.
3. Mesh repair
Difficulties found in acquired models, and need for fix-ups. Some techniques to automatically reduce mesh artifacts.
4. Smoothing
Presentation of techniques used to filter noise and improve the quality of meshes. Geometric and topological noise. Feature preservation.
5. Synthetic meshes
Presentation of some of the methods available to generate complex smooth shapes synthetically.
6. Parameterization of meshes. Remeshing and simplifying meshes.
Importance of parameterizations. Methods to achieve smooth parameterizations. Parameterizations and remeshing.
7. Mesh deformations and animation.
Skeleton and cage-based methods for deforming meshes.

Activities

Activity Evaluation act

Implementation of selected algorithms.

A selection of relevant algorithms will be assigned to implement in Lab sessions and on your own. You may be required to present your solution to the class. You must turn in fully functional source code that runs in Linux or MacOSX.

Theory
0h
Problems
0h
Laboratory
12h
Guided learning
0h
Autonomous learning
36h

Lectures

Material will be presented in lectures along the term. You are expected to conduct complementary readings and exercises will also be assigned on occasion, to be presented at a later date or turned in.
Objectives: 1
Theory
30h
Problems
3h
Laboratory
0h
Guided learning
0h
Autonomous learning
43.6h

Final exam

At the end of the term you will have a final exam, which may be a take-home.

Week: 18
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Problems to solve independently

You must develop solutions to problems that will be assigned in class; these will either be presented and discussed at a later date or turned in for grading.

Theory
0h
Problems
3h
Laboratory
0h
Guided learning
0h
Autonomous learning
20h

Teaching methodology

The course will consist in lectures on the theoretical foundations of GP, which will include discussions of problems and applications. There will also be lab sessions where the students will tackle specific problems assigned to them, and will hand in working programs addressing these problems.

Evaluation methodology

The students will be marked for their attendance and participation in class (including the presentation of exercise solutions, their discussion, and exercises turned in for grading), yielding a mark "Class".

Another grade will stem from the student's implementations of selected algorithms (including occasionally their presentation of their solution in a laboratory class), yielding a mark "Lab".

Finally, students will receive a third mark based on their performance in the final exam, yielding "Exam".

The final grade for the course will be computed as

Final Grade = 0.3 Class + 0.3 Lab + 0.4 Exam.

Previous capacities

Background material will be introduced or reviewed as necessary along the course, but a general knowledge of linear algebra, rudiments of differential geometry, and optimization, are desirable. Specifically, notions of vector spaces, transformations, changes of bases, eigenvalues and eigenvectors, SVD, and elements of differential geometry of curves and surfaces are desirable to maximize the benefit of taking this course.
Completing, for instance, GTCG should provide enough background.