Overall teaching objectives:
Triangle meshes are the most popular representation of 3D surfaces. Students must understand how to represent them in a compact data structure and how to implement local operations on them for a variety of algorithms. Although a large set of representation schemes for triangle meshes have been proposed, students will learn the Corner Table, which compactly represent the connectivity as 2 arrays of integers.
Motivation and relation to other modules:
Many applcations require the ability to process a triangle mesh to compute the vertex normals fro smooth shading, to build triangle strips for acceleration, to measure geodsic distances for resampling a surface, to slide on a surface for a compliant motion in animation, or to refine, smooth, or simplify the mesh for graphic acceleration or for removing or exaggerating details.
What students should know:
How to represent a mesh by a Corner Table and how to traverse it using corner operators
How to buid the corner table from a triangle list
How to properly orient the triangles and detect non-manifold singularities.
How to identify connected components and borders.
How to compute make sense from a triangle soup and fix models by filling in their holes.