Geometry Processing

You are here

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

  • Antonio Chica Calaf ( )

Others

  • Alvaro Vinacua Pla ( )
  • Carlos Andujar Gran ( )

Weekly hours

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

Competences

Technical Competences of each Specialization

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 Technical Competences

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.

Transversal Competences

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 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
Type: final exam
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.

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.