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


Overall teaching objectives: Students must be able to accurately define a domain of models that may be created or correctly processed by a particular system. Hence, they need to understand simple topological notions, such as a connected component, a manifold surface, and the border and genus of a surface. Furthermore, they need to be able to distinguish between the interior, boundary, and exterior of a pointset and formally express the notions of containment, intersection, and contacts between shapes.

Motivation and relation to other modules: Many algorithms in Computer Graphics or Animation only work for a limited domaim of models. Furthermore, the assumptions of the particular domain are not always clearly stated. Students must learn how to interpret stated assumptions, how to tst whether a particular model satisfies them, and how to formulate them for a particular algorithm or data structure. Furthermore, students need to know how to design (at the high level) algorithms that decompose a surface into connected shells, how to test whether they are free from intersections and self-intersections, how to identify the borders and non-manifold isngularities, how to group shells into sets that bound connected solids, how to orient them properly, and how to compute the genus of each shell and of each object.

What students should know:
  • The definition of a manifold surface and examples of non-manifold singularities.
  • The definition of connected components and genus.
  • How to test whether a component (shell) is contained inside another.
  • How to organize disjoint shells into the boundaries of solids and how to orient them.
  • How to detect borders and singularities

  • Lecture slides: Jarek,

    Images, videos:

    Web pages:

    Book chapters:

    Papers: jarek,

    Examples of exam questions:
  • Give several simple examples of non-manifold surfaces
  • You are given n disjoint shells. Describe an approach for grouping them into sets that each bound a different solid.