On this basis, the main geometry processing algorithms are introduced together with their practical applications. During the course, exercises will be conducted on the topics discussed by examining and presenting both low-level (C ++) implementations of data structures and algorithms and python libraries that allow rapid prototyping of applications that can solve complex geometric problems.
By the end of the course, the students will be able to use the most appropriate geometry processing algorithms and data structure to solve the problems that can arise when handling 3D geometric shape representations. The theoretical background and the good knowledge of the geometrical properties of surfaces will be useful for a better comprehension of the pitfalls and limitations that can be encountered when handling real world problems where surfaces and 3D representations are involved, like the one that can be encountered in computer aided design, interactive computer graphics and industrial design.| Monday | Tuesday | Wednesday | Thursday | Friday |
| 14:00 - 16:00 Aula Fib L1 |
16:00 - 18:00 Aula Fib Lab I |
| Date | Topic | ||
|---|---|---|---|
| 15 09 2025 | Monday | 16:15 18:00 | No lesson, the course will start on the 17th of September |
| 17 09 2025 | Wednesday | 16:15 18:00 | Introduction to the course. PDF Representing Surfaces PDF |
| 22 09 2025 | Monday | 16:15 18:00 | No lesson, I adhere to the General Strike |
| 24 09 2025 | Wednesday | 16:15 18:00 | Representing Surfaces (second part) |
| 29 09 2025 | Monday | 16:15 18:00 | First Experiments with VCGLib Intro to the Lib: PDF The code shown at lesson ZIP; it assumes that you have cloned the vcglib repo (devel branch) The Mesh folder with the examples ZIP |
| 01 10 2025 | Wednesday | 16:15 18:00 | More Experiments with VCGLib The code shown at lesson ZIP; As exercise you should continue the implementation of the example : Count, the size of each connected component (as number of faces) Delete all the faces of the connected components but the largest one; use the function tri::Allocator < MyMesh > ::DeleteFace(m, Face &f); to delete faces |
| 06 10 2025 | Monday | 16:15 18:00 | Meshing and Remeshing PDF |
| 08 10 2025 | Wednesday | 16:15 18:00 | Final part of Meshing and Remeshing PDF
and ore Experiments with VCGLib The code shown at lesson ZIP; Still on the problem of deleting all but the largest connected component. We have seen different implementation that either copy the largest CC onto a new mesh or that select and delete the rest. Final example uses an incremental mark to avoid the linear cost of multiple unmarking of a mesh. |
| 13 10 2025 | Monday | 16:15 18:00 | Differential Geometry for dummies PDF |
| 15 10 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib We have started the common sample project. In code shown at lesson ZIP we started to write experiments on defining chain of edges over meshes according to some rules. Doc in the Teams space reports more detail. |
| 20 10 2025 | Monday | 16:15 18:00 | Spatial Indexing PDF |
| 22 10 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib second part. A pause.
We did a hard experiment in library integration.
We have attempted to use the a minimal but efficient bounding volume hierarchy
(bvh) to speed up the intersection tests needed to trace polylines over a mesh.
First test at lesson failed due to multiple issues in integrating the library.
The ZIP contains the functioning code (we were doing something wrong in the lambda c++ part). |
| 27 10 2025 | Monday | 16:15 18:00 | Mesh Sampling PDF |
| 29 10 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib Third part. We continued the ray tracing experiment doing a simple ambient occlusion computation. Then we restarted the curve tracing over mesh experiment using the CurveOnMesh class of VCGLib to transfer and adapt polylines over different meshes. The ZIP contains the code shown at lesson. |
| 03 11 2025 | Monday | 16:15 18:00 | Surface Reconstruction, Explicit Methods PDF |
| 05 11 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib Fourth part.
|
| 10 11 2025 | Monday | 16:15 18:00 | Surface Reconstruction Implicit Methods PDF |
| 12 11 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib Fifth part.
We Prepared some code for generating reasonable curves in space with associated direction of projection
The ZIP contains the code shown at lesson. Post lesson note: I finally found a reasonable minimal ray-mesh intersection library that is header-only and easy to integrate with VCGLib: tinybvh In the example I have shown a first integration. |
| 17 11 2025 | Monday | 16:15 18:00 | Lesson Canceled Sorry for the short notice |
| 19 11 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes with VCGLib Sixth part.
|
| 24 11 2025 | Monday | 16:15 18:00 | Managing polylines on Meshes 7th part. After a bit of investigation on the tinybvh library bug we have integrated the closest point search of the library to find projected segments that are candidate to be deleted. we have seen how to use it to compute ray-mesh intersections. The ZIP contains the code shown at lesson. |
| 26 11 2025 | Wednesday | 16:15 18:00 | Texture Parametrization PDF |
| 01 12 2025 | Monday | 16:15 18:00 | Managing polylines on Meshes 8th part. Implementing cutting polyline and closing using geodesic paths. The ZIP contains the code shown at lesson. |
| 03 12 2025 | Wednesday | 16:15 18:00 | Ransac/ICP PDF1 and Smoothing PDF2 |
| 08 12 2025 | Monday | 16:15 18:00 | No lesson - Festivity |
| 10 12 2025 | Wednesday | 16:15 18:00 | Managing polylines on Meshes 9th part.
Cleaning up things. Moving the code into a single templated class.
The ZIP contains the code shown at lesson. The code for meshlab is in these two files ZIP. Not committed anywhere because there is already a filter with that purpose. The issue that we got at lesson was really stupid. We were testing the wrong filter (facepalm) ("Build a polyline from selected edges") that has a similar name but different purpose... |
| 15 12 2025 | Monday | 16:15 18:00 | Radiance field based representations PDF1 The shared file with the project is linked in the Teams Chat. Ask for access and annotate it with your preferred project. |