410 likes | 572 Views
Shortest Path Problems on a Polyhedral Surface. Carola Wenk Atlas F. Cook IV University of Texas at San Antonio. End. Start. Shortest Paths on a Polyhedral Surface. Why study shortest paths on a surface? Hike in the mountains Navigate the surface of Mars. Convex polyhedral surfaces
E N D
Shortest Path Problemson a Polyhedral Surface Carola Wenk Atlas F. Cook IV University of Texas at San Antonio
End Start Shortest Paths on a Polyhedral Surface • Why study shortest paths on a surface? • Hike in the mountains • Navigate the surface of Mars • Convex polyhedral surfaces • Arbitrary polyhedral surfaces
Our Results • Convex polyhedron: • Give a linear-factor speedup for edge sequence results of [AARS97]: • Compute a superset of all Q(M4) edge sequences in O(M5) time • Compute the set of all edge sequences in O(M52a(M)log M) time • Arbitrary polyhedral surface • Maintain star unfolding over all edges in O(M4) time • Applications: • Fréchet distance (linear factor speedup for convex polyh.) • Diameter • Shortest path maps
Edge Sequences • An edge sequence is the • sequence of edges crossed by a (shortest) path End E2 E1 Start
E2 E1 Edge Sequences & Unfolding • Sequence of edges crossed by a (shortest) path E2 Unfold E1
Edge Sequences & Unfolding • A shortest path on a convex 3D polyhedral surface unfolds to a straight line segment in 2D. • A shortest path on a non-convex 3D polyhedral surface unfolds to a polygonal path in 2D.
Star Unfolding s s v4 v3 v4 v4 v3 v3 v2 v1 v1 v1 v2 v2 Polyhedral Surface (1)Compute shortest paths to all M vertices (2) Unfold along shortest paths
Star Unfolding, Core, Anticore • s maps to M points s1,…,sM in the 2D unfolding s1 s v4 Star Unfolding v3 s4 s2 v4 v3 v2 v1 core v1 anticore s3 v2 • One core region, and M anticore regions • Compute star unfolding in O(M2) time
t Star Unfolding • t in anticore(si): d(s,t)= ||si – t|| • t in core: d(s,t)= mini=1,…,M ||si – t|| s1 s Star Unfolding v4 v3 t s4 s2 v4 v3 v2 v1 d(s,t) v1 s3 v2 Compute a Voronoi Diagram of all source images to answer logarithmic shortest path queries within the core
Star Unfolding • If P is convex, then the Star Unfolding is a simple polygon [AR91] • If P is non-convex, the Star Unfolding can self-overlap:
Star Unfolding • Lemma: If P is non-convex, even the core of the Star Unfolding can self-overlap:
Star Unfolding • O(M) polyhedron edges in the core • O(M2) cut polyhedron edges in the anticore
Edgelets • Subdivision of polygon edges to describe combinatorially distinct star unfoldings with the source on the edges • Compute shortest paths between every two vertices O(M2) edgelets per edge, O(M3) edgelets total
Superset of Edge Sequences • Theorem: Construct a superset of all edge sequences, on a convex polyhedron, in O(M5) time • Proof: • O(M3) edgelets • For each source image si: • construct edge sequences to all O(M) anticore edges in anticore(si) • construct edge sequences to all O(M) core edges
Edge Sequences Algorithm Algorithm: • Maintain the star unfolding as a source point s varies continuously over all edges of P. • Maintain the kinetic Voronoi diagram as a source point s varies continuously over all edges of P. • Extract shortest path edge sequences • Continuous motion takes advantage of small changes between adjacent events.
s’ Maintaining the Star Unfolding • Star Unfolding Event: edgelet endpoint induces a combinatorial change in the star unfolding • Between events: • Source images move on line segments [AARS97] • Other vertices are fixed s1’ s2 s2’ s1 s s3’ s3 s5’ s5 s4 s4’
s’ Maintaining the Star Unfolding • Handling a star unfolding event: • One shortest path to a vertex changes combinatorially • Update two source images including their anticore regions and all O(M) edges in these anticore regions. • Update O(m) edges in the core. s2 s1 s s3 s5 s4
Maintaining the Star Unfolding • Theorem:Maintain a star unfolding as a source pointsvaries continuously over all edges ofPin O(M4) time. • Proof: • O(M3) edgelets • For each edgelet endpoint, update two source images including their anticore regions, and all O(M) edges in these anticore regions and in the core. Linear factor faster than computing a new star unfolding for each event.
Edge Sequences Algorithm Algorithm: • Maintain the star unfolding as a source point s varies continuously over all edges of P. • Maintain the kinetic Voronoi diagram as a source point s varies continuously over all edges of P. • Extract shortest path edge sequences • Continuous motion takes advantage of small changes between adjacent events.
Maintaining the Kinetic VD • Maintain a kinetic Voronoi diagram as a source point s varies continuously over all edges of P. Kinetic Voronoi diagram: [AMGR98] • Sites are allowed to move • Sites := source images s1,…,sM of star unfolding • Goal: Maintain subdivision as sites move
s’ Maintaining the Kinetic VD • Between events: • Sites move on line segments • Other vertices are fixed s1’ s2 s2’ s1 s3’ s s3 s5’ s5 s4 s4’
s5 Maintaining the Kinetic VD Voronoi Event: • A Voronoi edge appears or disappears. • Each pair of moving sites defines O(M 2a(M)) Voronoi Events [AMGR98]. • Thus, M moving sites define • O(M2) pairs and • O(M2. M 2a(M)) Voronoi Events s1 s2 s3 s4
Maintaining the Kinetic VD Star Unfolding Event: • Two source images are removed and inserted in a different place (together with a new anticore region) • The new source images define new line segments, which define O(M) new pairs of moving sites. Each Star Unfolding Event defines O(M . M 2a(M)) Voronoi Events.
Maintaining the Kinetic VD Theorem: A kinetic VD of the source images can be maintained in O(M5 2a(M)log M) time as the source point s varies continuously over all edges of P. Proof: • Star Unfolding Events: O(M3) • Voronoi Events: O(M3. M2 2a(M)) • Time per Voronoi Event: O(log M) • Total Time: O(M5 2a(M)log M)
Edge Sequences Algorithm Algorithm: • Maintain the star unfolding as a source point s varies continuously over all edges of P. • Maintain the kinetic Voronoi diagram as a source point s varies continuously over all edges of P. • Extract shortest path edge sequences • Continuous motion takes advantage of small changes between adjacent events.
Extract Shortest Path Edge Sequences Between events: • Each source image si defines a parameterized Voronoi cell. • Let E be an edge of the star unfolding. • The unique edge sequence from sito Ecorresponds to a shortest path iff the parameterized Voronoi cell for si ever intersects E. Upper envelope + triangulation [AARS97]: • O(log M) time per parameterized Voronoi cell E si
Extract Shortest Path Edge Sequences Theorem: Compute allӨ(M4) shortest path edge sequences on a convex polyhedral surface P with M vertices in O(M52a(M)log M) time. • Improves [AARS97] by a linear factor by using continuous motion to take advantage of small changes between adjacent events.
Applications Diameter • Compute the diameter of a convex polyhedron in O(M7log M) time. • Improves [AARS97] by a linear factor Fréchet Distance • Compute the Fréchet dist. between two polygonal curves on a convex polyhedron in O(M6log2 M) time. • Improves [MY05] by a linear factor Shortest Path Maps • Support O(log n) queries from any point on a line segment, with O(M42a(M) log M) preprocessing time.
Diameter Theorem: Compute the diameter of a convex polyhedral surface in O(M7log M) time. Proof: • O(M4) ridge free regions: Induced by all shortest paths between pairs of vertices; same star unfolding • Compute kinetic VD for first region in O(M4) time • Process adjacent ridge free regions: • Update two sites → O(M) pairs of sites in kinetic VD, each defining O(M2) new Voronoi vertices [AARS97] • O(M3) new Voronoi vertices • Find max of all O(M7) Voronoi vertex distance functions in O(log n) time [AARS97]
Fréchet Distance Theorem: Compute the Fréchet dist. between two poly-gonal curves on a convex polyhedron in O(M6log2 M) time. Proof sketch: • Partition one polygonal curve into O(M3) edgelets. • Maintain star unfolding over all edgelets in O(M4) time • Free space cell for an anticore edge and an edgelet: • Constant complexity, despite parameterization of anticore edge. O(M5) total complexity. • Free space cell for a core edge and an edgelet: • Union of M ellipses → O(M2) complexity • O(M3) complexity over all O(M) core edges,and O(M6) total
Shortest Path Map Theorem: A shortest path map from a line segment on a convex polyhedron can be built in O(M42a(M) log M) time and supports queries in O(log2 n) time. Proof: • Partition the line segment into O(M2) edgelets • Maintain kinetic VD in O(M4 2a(M)log M) time. • Queries take O(log2 n) time by [DGKS96].
Conclusions • Convex polyhedron: • Compute a superset of all Q(M4) edge sequences in O(M5) time • Compute the set of all edge sequences in O(M52a(M)log M) time • Arbitrary polyhedral surface • Maintain star unfolding over all edges in O(M4) time • Applications: • Fréchet distance (linear factor speedup for convex polyh.) • Diameter, Shortest path maps • Open question: • Can one compute all Q(M4) edge sequences in o(M5) time?
Conclusion • Our Main Result: • The Ө(M4) shortest path edge sequences on a convex polyhedral surface with M vertices can be computed a linear factor faster than [Agarwal97]. • Applications: • Diameter, Fréchet Distance, Shortest Path Maps • Future Work: • Can the Ө(M4) shortest path edge sequences be computed in o(M5) time?
References: • [AARS97] • P. K. Agarwal, B. Aronov, J. O’Rourke, and C. Schevon. Star Unfolding of a Polytope with Applications. SIAM Journal on Computing, Society for Industrial and Applied Mathematics, 1997, 26, 1689-1713 • [AMGR98] • G. Albers, J. S. B. Mitchell, L. J. Guibas, and T. Roos. Voronoi diagrams of moving points. International Journal of Computational Geometry and Applications, 1998, 8:365–380. • [AR91] • B. Aronov, J. O’Rourke. Nonoverlap of the Star Unfolding. SoCG, 1991, 105-114. • [CR87] • J. Canny and J.H. Reif. New Lower Bound Techniques for Robot Motion Planning Problems.Proc. 28th IEEE Annual Symp. Foundations of Computer Science, 1987, 49-60. • [CHK04] • V. Chandru, R. Hariharan, and N. M. Krishnakumar. Short-cuts on star, source and planar unfoldings.Foundations of Software Technology and Theoretical Computer Science (FSTTCS), 2004, 174–185.
References: • [CH96] • J. Chen and Y. Han. Shortest paths on a polyhedron.International Journal of Computational Geometry and Applications, 1996, 6:127-144. • [DGKS96] • O. Devillers, M. Golin, K. Kedem, S. Schirra. Queries on Voronoi diagrams of moving points.CGTA 6(5): 315-327, 1996. • [MY05] • A. Maheshwari and J. Yi. On computing Fréchet distance of two paths on a convex polyhedron.21st European Workshop on Computational Geometry (EuroCG), 2005. • [M90] • D. M. Mount. The number of shortest paths on the surface of a polyhedron. SIAM Journal on Computing, 1990, 19(4):593–611.
s1 s2 s5 s4 s3 s3 s4 Maintaining the Star Unfolding • Handling a star unfolding event: • One shortest path to a vertex changes combinatorially • This causes two source images to “jump” to new positions and start moving on new line segments. s
s1 s4 s4 s5 s3 s2 s3 Maintaining the Kinetic VD Star Unfolding Event: • Twosites start moving on new line segments • Both of the new line segments define M-1 new pairs of moving sites. Each Star Unfolding Event defines O(M . M 2a(M)) Voronoi Events.