Tracing compressed curves in triangulated surfaces

Written with Amir Nayyeri*

Discrete & Computational Geometry 49(4):823–863, 2013.
(Special section of invited papers from the 28th Annual Symposium on Computational Geometry)

Proceedings of the 28th Annual Symposium on Computational Geometry, 131–140, 2012.

A simple path or cycle in a triangulated surface is normal if it intersects any triangle in a finite set of arcs, each crossing from one edge of the triangle to another. A normal curve is a finite set of disjoint normal paths and normal cycles. We describe an algorithm to “trace” a normal curve in O(min{X, n2 log X}) time, where n is the complexity of the surface triangulation and X is the number of times the curve crosses edges of the triangulation. In particular, our algorithm runs in polynomial time even when the number of crossings is exponential in n. Our tracing algorithm computes a new cellular decomposition of the surface with complexity O(n); the traced curve appears in the 1-skeleton of the new decomposition as a set of simple disjoint paths and cycles.

We apply our abstract tracing strategy to two different classes of normal curves: abstract curves represented by normal coordinates, which record the number of intersections with each edge of the surface triangulation, and simple geodesics, represented by a starting point and direction in the local coordinate system of some triangle. Our normal-coordinate algorithms are competitive with and conceptually simpler than earlier algorithms by Schaefer, Sedgwick, and Štefankovič [COCOON 2002, CCCG 2008] and by Agol, Hass, and Thurston [Trans. AMS 2005].

Publications - Jeff Erickson ( 09 Oct 2014