An optimal-time algorithm for shortest paths on a convex polytope in three dimensions

  • Authors:
  • Yevgeny Schreiber;Micha Sharir

  • Affiliations:
  • Tel Aviv University, Tel Aviv, Israel;Tel Aviv University, Tel Aviv, Israel & New York University, New York

  • Venue:
  • Proceedings of the twenty-second annual symposium on Computational geometry
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present an optimal-time algorithm for computing (an implicit representation of) the shortest-path map from a fixed source s on the surface of a convex polytope P in three dimensions. Our algorithm runs in O(nlog n) time and requires O(nlog n) space, where n is the number of edges of P. The algorithm is based on the O(nlog n) algorithm of Hershberger and Suri for shortest paths in the plane [11], and similarly follows the continuous Dijkstra paradigm, which propagates a "wavefront" from s along ∂P. This is effected by generalizing the concept of conforming subdivision of the free space used in [11], and adapting it for the case of a convex polytope in R3, allowing the algorithm to accomplish the propagation in discrete steps, between the "transparent" edges of the subdivision. The algorithm constructs a dynamic version of Mount's data structure [16] that implicitly encodes the shortest paths from s to all other points of the surface. This structure allows us to answer single-source shortest-path queries, where the length of the path, as well as its combinatorial type, can be reported in O(log n) time; the actual path π can be reported in additional O(k) time, where k is the number of polytope edges crossed by π.The algorithm generalizes to the case of m source points to yield an implicit representation of the geodesic Voronoi diagram of m sites on the surface of P, in time O((n+m)log(n+m)), so that the site closest to a query point can be reported in time O(log(n+m)).