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
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
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.
Acquisition of Models; reconstruction, registration, zipping.
Discussion of the techniques whereby we can capture complex geometric meshes from physical objects.
Mesh repair
Difficulties found in acquired models, and need for fix-ups. Some techniques to automatically reduce mesh artifacts.
Smoothing
Presentation of techniques used to filter noise and improve the quality of meshes. Geometric and topological noise. Feature preservation.
Synthetic meshes
Presentation of some of the methods available to generate complex smooth shapes synthetically.
Parameterization of meshes. Remeshing and simplifying meshes.
Importance of parameterizations. Methods to achieve smooth parameterizations. Parameterizations and remeshing.
Mesh deformations and animation.
Skeleton and cage-based methods for deforming meshes.
Activities
ActivityEvaluation 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
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
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.