Skip to main content
CODE 80412
ACADEMIC YEAR 2024/2025
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR INF/01
LANGUAGE English
TEACHING LOCATION
  • GENOVA
SEMESTER 2° Semester
TEACHING MATERIALS AULAWEB

OVERVIEW

This course introduces the principles of modeling geometric objects from a mathematical and computational perspective. After introducing the basic schemes for solid modeling, and the necessary concepts in differential geometry, the course focuses on geometric meshes and related data structures and algorithms. The course includes homework and/or a final project developed either in Python or in C++ using a  library for geometry processing. 

AIMS AND CONTENT

LEARNING OUTCOMES

Learning theoretical foundations, techniques and methodologies for the representation and manipulation of solid objects, 2D and 3D scalar surfaces and fields, and related computational techniques. Learning computational techniques for resolving geometric problems (computational geometry and geometry processing). Reference applications: computer graphics, scientific visualization, CAD systems, geographic information systems, virtual reality.

AIMS AND LEARNING OUTCOMES

The students will learn the theoretical foundations of geometric modeling and the mathematical foundations and related algorithms for resolving basic problems in geometry processing and discrete differential geometry. 

Applications of such techniques to fields such as computer graphics, animation, FEM, digital fabrication, etc. will be explored. 

At the end of the course, students will be able to:

  • Understand the basic concepts in geometric modeling.
  • Know the basiscs of discrete differential geometry.
  • Resolve geometry processing problems in Python, with the aid of a programming library including the related numerical programming tools.
  • Develop practical applications related to the topics of the course. 

PREREQUISITES

Linear algebra: vectors, matrices, linear systems

Differential calculus in several variables: partial derivatives, gradient, Laplacian, Hessian

Imperative programming: Python

TEACHING METHODS

Theory classes in frontal teaching. Homework/project developed autonomously by students. Assistance from the teachers.

SYLLABUS/CONTENT

Models of discrete geometric shapes

  • a general framework for shape modeling
  • parametric representaitons
  • boundary representations: parametric patches and geometric meshes
  • implicit representations

Curves and surfaces

  • piecewise polynomial curves and surface: definitions and properties
  • subdivision curves and surfaces: definitions and properties
  • subivision schemes in 2D and 3D

Geometric meshes

  • topological entities and relations
  • data structures for surfaces discretized as triangle meshes
  • operators for manipulating cell and simplicial complexes

Surface reconstruction

  • normal estimation
  • mesh reconstruction with implicit methods

Discrete differential geometry

  • parametric representation of lines and surfaces: tangent vector ad plane, normal, Jacobian matrix, Gauss map, directional derivatives
  • first and second fundamental forms
  • principal curvatures, shape operator, curvature tensor, lines of curvature, umbilicals
  • functions on surfaces: gradient and Laplace-Beltrami operator
  • discrete estimation of differential properties on meshes

Geometry processing

  • smoothing and fairing
  • parametrization
  • mesh deformation

Geodesic computations

  • geodesic lines and distances on surfaces
  • algorithms for estimating shortest paths and distance fields
  • applications to surface decoration
  • splines on surfaces

 

RECOMMENDED READING/BIBLIOGRAPHY

Notes and slides made available on Aulaweb.
Notes contain references to reference books and articles for further reading.

Some recommended books (available in the library):

M. Mantyla, An Introduction to Solid Modeling, Computer Science Press, 1988 

M.K. Agoston, Computer Graphics and Geometric Modeling, Springer Verlag, 2005 

M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, B. Lévy, 2010, Polygon Mesh Processing, A.K. Peters, ISBN 978-1-56881-426-1

TEACHERS AND EXAM BOARD

Exam Board

ENRICO PUPPO (President)

PAOLA MAGILLO

CLAUDIO MANCINELLI (President Substitute)

LESSONS

LESSONS START

In agreement with the calendar approved by the Degree Program Board of Computer Science.

Class schedule

The timetable for this course is available here: Portale EasyAcademy

EXAMS

EXAM DESCRIPTION

The exam will consist of an evaluation of the homework/project plus an oral. 

Homework tests consist of simple exercises to be done individually by each student, to familiarize with the geometric library.

The final project consists of a more elaborated problem to be addressed in a group of two/three students, within the same programming framework. 

Homework and project can be proposed alternatively or together, depending on the class's global level of programming skills. 

ASSESSMENT METHODS

Homework/project will be evaluated for the correctness of the solution, efficiency, and correct use of the library.

The oral exam will include questions that can span the whole syllabus. Students are not required to remember by heart all mathematical details but should know the logical steps of all methods and be able to explain all details while consulting the slides. 

Exam schedule

Data appello Orario Luogo Degree type Note
21/02/2025 09:00 GENOVA Esame su appuntamento
01/08/2025 09:00 GENOVA Esame su appuntamento
19/09/2025 09:00 GENOVA Esame su appuntamento

FURTHER INFORMATION

Pre-requirements

This course will rely on tools from calculus in multiple variables introduced in the Calculus courses of the second year of the undergraduate program and tools from numerical analysis such as the resolution of linear systems and functional minimization. 

Agenda 2030 - Sustainable Development Goals

Agenda 2030 - Sustainable Development Goals
Quality education
Quality education
Gender equality
Gender equality
Decent work and economic growth
Decent work and economic growth
Industry, innovation and infrastructure
Industry, innovation and infrastructure