Skip to main content

Geometry Processing

Credits
6
Types
Specialization complementary (Computer Graphics and Virtual Reality)
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.

Teachers

Person in charge

Others

Weekly hours

Theory
2.5
Problems
0.5
Laboratory
1
Guided learning
0
Autonomous learning
7.54

Competences

Computer graphics and virtual reality

  • CEE1.1 - Capability to understand and know how to apply current and future technologies for the design and evaluation of interactive graphic applications in three dimensions, either when priorizing image quality or when priorizing interactivity and speed, and to understand the associated commitments and the reasons that cause them.
  • CEE1.2 - Capability to understand and know how to apply current and future technologies for the evaluation, implementation and operation of virtual and / or increased reality environments, and 3D user interfaces based on devices for natural interaction.
  • Generic

  • CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
  • Reasoning

  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.
  • Basic

  • CB6 - Ability to apply the acquired knowledge and capacity for solving problems in new or unknown environments within broader (or multidisciplinary) contexts related to their area of study.
  • 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: CB6, CTR6, CEE1.1, CEE1.2, CG3,
      Subcompetences
      • able to understand the main tools to filter geometric and topological noise in meshes
      • able to implement and/or use the main mechanisms to deform and edit complex 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
    13h
    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
    3.5h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    42h

    Final exam

    At the end of the term you will have a final exam.

    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, yielding a grade "Class".

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

    Students will also receive a third mark based on their performance in a final exam, yielding "Exam". This exam will also include a section that will reference the algorithms implemented in the labs, resulting in a fourth grade "LabExam".

    The final grade for the course will be computed as

    Final Grade = 0.1 Class + 0.35 Lab + 0.4 Exam + 0.15 LabExam.

    Bibliography

    Basic

    Complementary

    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.
    Knowledge of C++ is recommended to be able to complete the labs.