3D GEOMETRIC MODELING & PROCESSING 2023/2024

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
  • 3D Geometry Representation and Processing for Learning

    Examination

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

    TimeTable

    Lunedì Martedì Mercoledì Giovedì Venerdì
    16:00 - 18:00
    Aula Fib 1 Lab
    14:00 - 16:00
    Aula Fib 1 Lab

    Lezioni e Lucidi

    Data Contenuto
    19 02 2023 Lunedì 16:15 18:00 Introduction to the course. PDF
    Representing Surfaces PDF
    21 02 2023 Mercoledì 14:15 16:00 Representing Surfaces (same slides)
    26 02 2023 Lunedì 16:15 18:00 First Experiments with VCG library. PDF, Code.zip
    The code in the zip file expects that you clone the 'devel' branch of the vcglib. The documentation of the library is on vcglib.net The code uses the FF adj relation to find the first connected component of the mesh. As exercise you should try to find all the others connected components of the mesh and to color them randomly.
    28 02 2023 Mercoledì 14:15 16:00 Quick Intro to Rendering Paradigms PDF
    04 03 2023 Lunedì 16:15 18:00 More Experiments with VCG library. Code.zip
    The code in the zip file expects that you clone the 'devel' branch of the vcglib. The code presents the solution of the last week problem and the base for the next exercise: complete the geodesic, edge based, visit by substituting the stack with an heap.
    06 03 2023 Mercoledì 14:15 16:00 Short intro Lighting and Texturing PDF
    11 03 2023 Lunedì 16:15 18:00 More Experiments with VCG library. Code.zip
    The code in the zip file expects that you clone the 'devel' branch of the vcglib. The code presents the solution of the last week problem and the base for the next two exercises:
    1) extend the dijkstra visit shown in the solution of the last week to include a virtual arc in the edge graph that connect the opposite vertices of two 1-adjacent triangles (hint) in order to obtain a better approximation of the geodesic distance.
    2) extend the code shown today at lesson to add the missing polygon centered around each vertex (add three romboids for each triangle) and (optionally) move the wall above the surface (use face/vertex normals).
    13 03 2023 Mercoledì 14:15 16:00 Spatial Indexing PDF
    18 03 2023 Lunedì 16:15 18:00 More Experiments with VCG library. Code.zip
    The code in the zip file expects that you clone the 'devel' branch of the vcglib. The code presents the solution of the last week problem. .
    20 03 2023 Mercoledì 14:15 16:00 Meshing and Remeshing PDF
    25 03 2023 Lunedì 16:15 18:00 No Lesson
    27 03 2023 Mercoledì 14:15 16:00 No Lesson
    01 04 2023 Lunedì 16:15 18:00 No Lesson (Pasquetta)
    27 03 2023 Mercoledì 14:15 16:00 Sampling PDF
    08 04 2023 Lunedì 16:15 18:00 More Experiments with VCG library. Code.zip
    As usual the code in the zip file expects that you clone the 'devel' branch of the vcglib. The code shows the sampling exercise we did in class. Todo as exercise: Implement Uniform edge sampling strategy that works correctly with respect to non 1-manifold edges.
    10 04 2023 Mercoledì 14:15 16:00 Differential Geometry PDF
    A couple of nice comics discussing in a intuitive yet formally correct way some of the concepts that we have seen are here: Geometricon, Topologicon
    15 04 2023 Lunedì 16:15 18:00 More Experiments with VCG library. Code.zip
    As usual the code in the zip file expects that you clone the 'devel' branch of the vcglib. The code shows the sampling exercise we did in class. Todo as exercise: Make it compile...
    17 04 2023 Mercoledì 14:15 16:00 Surface Reconstruction Explicit Methods PDF
    22 04 2023 Lunedì 16:15 18:00 Lezione annullata per sospensione della didattica
    24 04 2023 Mercoledì 14:15 16:00 Surface Reconstruction Implicit Methods PDF