CODE 80412 ACADEMIC YEAR 2022/2023 CREDITS 6 cfu anno 2 COMPUTER SCIENCE 10852 (LM-18) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR INF/01 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester TEACHING MATERIALS AULAWEB OVERVIEW This course introduces the principles of modeling geometric objects from a mathematical and computational perspective. After introducing the basics 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 in C++ using a library for geometry processing. All lectures are given in English. 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. PREREQUISITES Linear algebra: vectors, matrices, linear systems Differential calculus in several variables: partial derivatives, gradient, Laplacian, Hessian Imperative programming: C++ and standard library TEACHING METHODS Theory classes in frontal teaching. Homework/project developed autonomously by students. Assistance from the teacher. SYLLABUS/CONTENT Models of discrete geometric shapes a general framework for shape modeling parametric representaitons boundary representations: parametric patches and geometric meshes implicit representations Geometric meshes topological entities and relations data structures for surfaces discretized as triangle meshes operators for manipulating cell and simplicial complexes Surface reconstruction acquisition devices reconstruction from single views and normal estimation registration of multiple views reconstruction from multiple views 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 Curves and surfaces riecewise polynomial curves: definitions and properties basic algorithms for manipulating curves and surfaces interpolation and approximation subdivision curves and surfaces: definitions and properties subivision schemes in 2D and 3D Geodesic computations geodesic lines and distances on surfaces algorithms for estimating shortest paths and distance fields applications to surface decoration splines on surfaces Extra topics (if there is time): Geometry processing smoothing and fairing parametrization mesh deformation 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 ENRICO PUPPO Ricevimento: Appointment by email: enrico.puppo@unige.it During class period appointments for groups can be set by posting on the course forum on AulaWeb. Exam Board ENRICO PUPPO (President) CLAUDIO MANCINELLI CHIARA EVA CATALANO (President Substitute) PAOLA MAGILLO (President Substitute) LESSONS LESSONS START The class will start according to the academic calendar (1st semester). 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 ora 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 06/02/2023 09:00 GENOVA Esame su appuntamento 06/06/2023 09:00 GENOVA Esame su appuntamento 06/09/2023 09:00 GENOVA Esame su appuntamento FURTHER INFORMATION Pre-requirements This course will rely on tools from calculus in multiple variables instrduced in the Caluculus courses of second year of the undergraduate program and tools from numerical analysis such as resolution of linear systens and functional minimization. This course also makes use of concepts in algebraic topology and differential geometry that are introduced autonomously. Previous knowledge of such concepts may help, which can be obtained from courses such as Istituzioni di Fisica Matematica 1 and/or Geometria Differenziale and/or Trattamento Numerico di Equazioni Differenziali.