3D GEOMETRIC MODELING & PROCESSING 2021/2022

Paolo Cignoni

Syllabus

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.
  • Discrete Representations for Surfaces
  • Data Structures for Simplicial Complexes and spatial Indexing
  • Basics of Differential Geometry and Topology for Computer Graphics
  • 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.

    TimeTable

    Lunedì Martedì Mercoledì Giovedì Venerdì
    09:00 - 10:45
    Aula Fib X2
    14:15 - 16:00
    Aula Fib X2

    Lezioni e Lucidi

    Data Contenuto
    14 02 2022 Lunedì 16:15 18:00 Introduction to the course. PDF
    Representing Surfaces
    16 02 2022 Mercoledì 16:15 18:00 Data Structures for Meshes PDF
    21 02 2022 Lunedì 16:15 18:00 First Experiments with a C++ library for mesh processing PDF
    23 02 2022 Mercoledì 16:15 18:00 Rendering a quick introduction, PDF
    28 02 2022 Lunedì 09:00 10:45 More Experiments with VCGLib
    The OFF meshes used for the examples
    Code It assumes that it is put in a folder containing a freshly cloned copy of the vcglib
    04 03 2022 Venerdì 14:15 16:00 Ligthing and Texturing PDF
    07 03 2022 Lunedì 09:00 10:45 Yet More Experiments with VCGLib
    11 03 2022 Venerdì 14:15 16:00 Trasformations PDF
    Code for creating a ring done of composed cubes It assumes that it is put in a folder containing a freshly cloned copy of the vcglib
    14 03 2022 Lunedì 09:00 10:45 Yet More Experiments with VCGLib. Trying to build a labyrinth.
    Possible exercises:
    • correct the indexing bug (wrong formula! a snapshot of the numbering scheme used is in the zip folder)
    • substitute the random visit with a Dijkstra visit. Use per-face-quality to store the current distance.
    • color the faces according to the level in order to improve readabilitiy
    • search for inconsistency. Beside internal faces there are other geometric problems?
    18 03 2022 Venerdì 14:15 16:00 Spatial Indexing PDF
    Code The code shows how to use various indexing structures in the vcglib for doing spatial queries around a mesh.
    21 03 2022 Lunedì 09:00 10:45 Yet More Experiments with VCGLib . Building a labyrinth.
    25 03 2022 Venerdì 14:15 16:00 Meshing PDF
    28 03 2022 Lunedì 09:00 10:45 Yet More Experiments with VCGLib. Code. The code shows how to use various indexing structures in the vcglib for doing spatial queries around a mesh.
    01 04 2022 Venerdì 14:15 16:00 Sampling PDF
    04 04 2022 Lunedì 09:00 10:45 Yet More Experiments with VCGLib. Code. The code shows how to use various indexing structures in the vcglib for doing spatial queries around a mesh.
    08 04 2022 Venerdì 14:15 16:00 Discrete Differential Geometry PDF
    11 04 2022 Lunedì 09:00 10:45 This lesson has been canceled and will be recovered
    15 04 2022 Venerdì 14:15 16:00 EASTER HOLIDAYS
    18 04 2022 Lunedì 09:00 10:45 EASTER HOLIDAYS
    22 04 2022 Venerdì 14:15 16:00 Surface Reconstruction PDF
    25 04 2022 Lunedì 09:00 10:45 Liberation HOLIDAYS
    29 04 2022 Venerdì 14:15 16:00 Surface Reconstruction 2 PDF
    02 05 2022 Lunedì 09:00 10:45 VCGLib exercises
    06 05 2022 Venerdì 14:15 16:00 Parametrization PDF
    09 05 2022 Lunedì 09:00 10:45 Completing the Doo-Sabin exercise.
    After correction of the small bug (related to recreating subsequent levels of refinement without properly cleanning the base mesh) the four modified files have been commmitted and pushed to the two repoository: meshlab and vcglib.
    13 05 2022 Venerdì 14:15 16:00 Ransac, Geodesic and Smoothing PDF, PDF and PDF
    16 05 2022 Lunedì 09:00 10:45 Project Discussion. The list of the projects discussed is here
    20 05 2022 Venerdì 14:15 16:00