Shortest path solves edge-to-edge visibility in a polygon
Pattern Recognition Letters
A pedestrian approach to ray shooting: shoot a ray, take a walk
SODA '93 Selected papers from the fourth annual ACM SIAM symposium on Discrete algorithms
The computational complexity of knot and link problems
Journal of the ACM (JACM)
Jewels are Forever, Contributions on Theoretical Computer Science in Honor of Arto Salomaa
Application of Lempel-Ziv Encodings to the Solution of Words Equations
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Algorithms for Normal Curves and Surfaces
COCOON '02 Proceedings of the 8th Annual International Conference on Computing and Combinatorics
Application of Lempel--Ziv factorization to the approximation of grammar-based compression
Theoretical Computer Science
Recognizing string graphs in NP
Journal of Computer and System Sciences - STOC 2002
Algorithms for simple curves on surfaces, string graphs, and crossing numbers
Algorithms for simple curves on surfaces, string graphs, and crossing numbers
Geometric Folding Algorithms: Linkages, Origami, Polyhedra
Geometric Folding Algorithms: Linkages, Origami, Polyhedra
A theorem on polygon cutting with applications
SFCS '82 Proceedings of the 23rd Annual Symposium on Foundations of Computer Science
STACS'99 Proceedings of the 16th annual conference on Theoretical aspects of computer science
The complexity of the normal surface solution space
Proceedings of the twenty-sixth annual symposium on Computational geometry
Spiraling and Folding: The Word View
Algorithmica - Special issue: Algorithms, Combinatorics, & Geometry
Computing the Crosscap Number of a Knot Using Integer Programming and Normal Surfaces
ACM Transactions on Mathematical Software (TOMS)
Processing compressed texts: a tractability border
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Hi-index | 0.00 |
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. We describe an algorithm to "trace" a normal curve in O(min set{X, n2log 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 as a simple path or cycle in the 1-skeleton of the new decomposition. 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 'tefankovic [COCOON 2002, CCCG 2008] and by Agol, Hass, and Thurston [Trans. AMS 2005].