Rectilinear Shortest Paths in a Rectilinear Simple Polygon

Tetsuo ASANO  

Publication
IEICE TRANSACTIONS (1976-1990)   Vol.E69   No.6   pp.750-758
Publication Date: 1986/06/25
Online ISSN: 
DOI: 
Print ISSN: 0000-0000
Type of Manuscript: PAPER
Category: Algorithm, Computational Complexity
Keyword: 


Full Text: PDF(740KB)>>
Buy this Article




Summary: 
We consider the following two fundamental problems: (P1) We are given a rectilinear simple polygon P with n edges and a point s in its interior. Given a query point t in the interior of P, find a rectilinear shortest path between s and t. (P2) We are given a rectilinear simple polygon P with n edges. Given a query point pair (s,t) in the interior of P, find a rectilinear shortest path between s and t. For the problem P1, we present an efficient algorithm which works in O(log n+L) query time and O(n log n) preprocessing time, where L is the number of line segments in the shortest path. Another important thing is that the shortest path obtained by the algorithm is of the minimum bends among all the paths between the two points. If only the distance between s and t is needed, then O(log n) time is enough for the query. On the other hand, for the problem P2, O(n) query time is needed while the preprocessing time is the same. Based on the algorithms, it is shown that given m points in a rectilinear n-edge simple polygon we can compute the distance between every pair of points in O(m(m+n)+nlog n) time.