The course begins by laying the theoretical foundations for treating 3D surfaces and shapes in mathematics and computer science. The framework of simplicial complexes and the basics of differential geometry and topology are presented to students with a flavour oriented to computer graphics applications. Subsequently, the main data structures for the management of discrete representations of surfaces are described together with introduces an overview of data structures for the efficient management of spatial queries.
On this basis, the main geometry processing algorithms are introduced together with their practical applications.
During the course, exercises will be conducted on the topics discussed by examining and presenting both low-level (C ++) implementations of data structures and algorithms and python libraries that allow rapid prototyping of applications that can solve complex geometric problems.
By the end of the course, the students will be able to use the most appropriate geometry processing algorithms and data structure to solve the problems that can arise when handling 3D geometric shape representations. The theoretical background and the good knowledge of the geometrical properties of surfaces will be useful for a better comprehension of the pitfalls and limitations that can be encountered when handling real world problems where surfaces and 3D representations are involved, like the one that can be encountered in computer aided design, interactive computer graphics and industrial design.
Basics of Differential Geometry and Topology for Computer Graphics
Discrete Representations and Data Structures for Simplicial Complexes and spatial Indexing
Mesh Processing Algorithms
Remeshing, Refinement & Simplification
Parametrization and Texturing
Fairing and Smoothing
Surface reconstruction and Sampling
Shape Analysis and Representations for Machine Learning

Examination

The exam consists of a practical part and a theoretical part.