Corners
A module for the Undergraduate Courses in Geometric and Visual Computing offered by the College of Computing at Georgia Tech


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.
  • How to compute the genus of a component.
  • How to test whether a point is inside a shell.

  • Lecture slides: jarek,

    Images, videos:

    Web pages:

    Book chapters:

    Papers:

    Examples of exam questions:
  • Explain how to identify the connected components of a manifold mesh and how to group them into sets that each bound a solid.
  • Provide an algorithm that will compute for each triangle of a manifold shell the distance (number of edges crossed) to a given root triangle.
  • Explain how to compute the genus of a manifold shell.