The algorithms for computing a shortest path on a polyhedral surface are slow, complicated, and numerically unstable. We have developed and implemented a robust and efficient algorithm for computing approximate shortest paths on a convex polyhedral surface. Given a convex polyhedral surface P in R3 , two points s, t ∈ P, and a parameter ε > 0, it computes a path between s and t on P whose length is at most (1+ε) times the length of the shortest path between those points. It first constructs in time O(n/ √ ε) a graph of size O(1/ε4 ), computes a shortest path on this graph, and projects the path onto the surface in O(n/ε) time, where n is the number of vertices of P. In the postprocessing step we have added a heuristic that considerably improves the quality of the resulting path.
Pankaj K. Agarwal, Sariel Har-Peled, Meetesh Karia