Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2013, Computational Geometry
A constant-workspace algorithm has read-only access to an input array and may use only O(1) additional words of O(log n) bits, where n is the size of the input. We assume that a simple n-gon is given by the ordered sequence of its vertices. We show that we can find a triangulation of a plane straight-line graph in O(n 2 ) time. We also consider preprocessing a simple polygon for shortest path queries when the space constraint is relaxed to allow s words of working space. After a preprocessing of O(n 2 ) time, we are able to solve shortest path queries between any two points inside the polygon in O(n 2 /s) time.
Theoretical Computer Science
The problem of finding a rectilinear minimum bend path (RMBP) between two designated points inside a rectilinear polygon has applications in robotics and motion planning. In this paper, we present efficient algorithms to solve the query version of the RMBP problem for special classes of rectilinear polygons given their oisibility graphs. Specifically, we show that given an unweighted graph G = (V, E), with 1 VI = N and 1 E I= M, algorithms to preprocess G in linear space and time such that the shortest distance queries-queries asking for the distance between any pair of nodes in the graph-can be answered in constant time and space are presented in this paper. For the case of a chordal graph G, our algorithms give a distance which is at most one away from the actual shortest distance. When G is a K-chordal graph, our algorithm produces an exact shortest distance in O(K) time. We also present a non-trivial parallel implementation of the sequential preprocessing algorithm for the CREW-PRAM mode1 which runs in O(logz N) time using O(N + M) processors. After the preprocessing, we can answer the queries in constant time using a single processor.
International Journal of Computational Geometry & Applications, 1996
We present a data structure that allows to preprocess a rectilinear polygon with n vertices such that, for any two query points, the shortest path in the rectilinear link or L 1 -metric can be reported in time O(log n + k) where k is the link length of the shortest path. If only the distance is of interest, the query time reduces to O(log n). Furthermore, if the query points are two vertices, the distance can be reported in time O(1) and a shortest path can be constructed in time O(1 + k). The data structure can be computed in time O(n) and needs O(n) storage. As an application we present a linear time algorithm to compute the diameter of a simple rectilinear polygon w.r.t. the L 1 -metric.
SIAM Journal on Computing, 1988
Given a simple n-vertex polygon, the triangulation problem is to partition the interior of the polygon into n-2 triangles by adding n-3 nonintersecting diagonals. We propose an O(n log logn)-time algorithm for this problem, improving on the previously best bound of O (n log n) and showing that triangulation is not as hard as sorting. Improved algorithms for several other computational geometry problems, including testing whether a polygon is simple, follow from our result. Key words, amortized time, balanced divide and conquer, heterogeneous finger search tree, homogeneous finger search tree, horizontal visibility information, Jordan sorting with error-correction, simplicity testing AMS(MOS) subject classifications. 51M15, 68P05, 68Q25 1. Introduction. Let P be an n-vertex simple polygon, defined by a list Vo,V vnof its vertices in clockwise order around the boundary. (The interior of the polygon is to the right as one walks clockwise around the boundary.) We denote the boundary of P by 0P. We assume throughout this paper (without loss of generality) that the vertices of P have distinct y-coordinates. For convenience we define vn V o. The edges of P are the open line segments whose endpoints are vi,vi+l for 0 < < n. The diagonals of P are the open line segments whose endpoints are vertices and that lie entirely in the interior of P. The triangulation problem is to find n-3 nonintersecting diagonals of P, which partition the interior of P into n-2 triangles. If P is convex, any pair of vertices defines a diagonal, and it is easy to triangulate P in O (n) time. If P is not convex, not all pairs of vertices define diagonals, and even finding one diagonal, let alone triangulating P, is not a trivial problem. In 1978, Garey, Johnson, Preparata and Tarjan [10] presented an O (n log n)-time triangulation algorithm. Since then, work on the problem has proceeded in two directions. Some authors have developed linear-time algorithms for triangulating special classes of polygons, such as monotone polygons [10] and star-shaped polygons [31 ]. Others have devised triangulation algorithms whose running time is O (n log k) for a parameter k that somehow quantifies the complexity of the polygon, such as the number of reflex angles [13] or the "sinuosity" [5]. Since these measures all admit classes of polygons with k 1 (n), the worst case running time of these algorithms is only known to be O(n log n). Determining whether triangulation can be done in o (n log n) time, i.e. asymptotically faster than sorting, has been one of the foremost open problems in computational geometry. In this paper we propose an O (n log logn)-time triangulation algorithm, thereby showing that triangulation is indeed easier than sorting. The paper is a revised and corrected version of a conference paper [27] which erroneously claimed an O (n)-time algorithm. The goal of obtaining a linear-time algorithm remains elusive, but our *
Discrete & Computational Geometry, 1992
We give a new O(n log log n)-time deterministic algorithm for triangulating simple n-vertex polygons, which avoids the use of complicated data structures. In addition, for polygons whose vertices have integer coordinates of polynomially bounded size, the algorithm can be modified to run in O(n log* n) time. The major new techniques employed are the efficient location of horizontal visibility edges that partition the interior of the polygon into regions of approximately equal size, and a linear-time algorithm for obtaining the horizontal visibility partition of a subchain of a polygonal chain, from the horizontal visibility partition of the entire chain. The latter technique has other interesting applications, including a linear-time algorithm to convert a Steiner triangulation of a polygon into a true triangulation.
2007
In this paper, we study the problem of finding the shortest path between two points inside a simple polygon such that there is at least one point on the path from which a query point is visible. We provide an algorithm which preprocesses the input in O (n2+ nK) time and space and provides logarithmic query time. The input polygon has n vertices and K is a parameter dependent on the input polygon which is O (n2) in the worst case but is much smaller for most polygons.
2004
We study a constrained version of the shortest path problem in simple polygons, in which the path must visit a given target polygon. We provide a worst-case optimal algorithm for this problem and also present a method to construct a subdivision of the simple polygon to efficiently answer queries to retrieve the shortest polygon-meeting paths from a single-source to the query point. The algorithms are linear, both in time and space, in terms of the complexity of the two polygons.
2016
An s-workspace algorithm is an algorithm that has read-only access to the values of the input, write-only access to the output, and only uses O(s) additional words of space. We give a random-ized s-workspace algorithm for triangulating a simple polygon P of n vertices, for any s ∈ O(n). The algorithm runs in O(n 2 /s + n(log s) log 5 (n/s)) expected time using O(s) variables, for any s ∈ O(n). In particular, when s ∈ O(n log n log 5 log n) the algorithm runs in O(n 2 /s) expected time. 1998 ACM Subject Classification I.3.5 Computational Geometry and Object Modeling
ACM-SIAM Symposium on Discrete Algorithms, 1992
We develop a data structure for answering link distance queries between two arbitrary points in a simple polygon. The data structure requires O(n3) time and space for its construction and answers link distance queries in O(log n) time. Our result extends to link distance queries between pairs of segments or polygons. We also propose a simpler data structure for computing
Algorithmica, 2019
We are given a read-only memory for input and a write-only stream for output. For a positive integer parameter s, an s-workspace algorithm is an algorithm using only O(s) words of workspace in addition to the memory for input. In this paper, we present an O(n 2 /s)-time s-workspace algorithm for subdividing a simple polygon into O(min{n/s, s}) subpolygons of complexity O(max{n/s, s}). As applications of the subdivision, the previously best known time-space trade-offs for the following three geometric problems are improved immediately by adopting the proposed subdivision: (1) computing the shortest path between two points inside a simple n-gon, (2) computing the shortest path tree from a point inside a simple n-gon, (3) computing a triangulation of a simple n-gon. In addition, we improve the algorithm for problem (2) further by applying different approaches depending on the size of the workspace.
International Journal of Computational Geometry & Applications, 1999
This paper presents a simple O(n+k) time algorithm to compute the set of knon-crossing shortest paths between k source-destination pairs of points on the boundary of a simple polygon of n vertices. Paths are allowed to overlap but are not allowed to cross in the plane. A byproduct of this result is an O(n) time algorithm to compute a balanced geodesic triangulation which is easy to implement. The algorithm extends to a simple polygon with one hole where source-destination pairs may appear on both the inner and outer boundary of the polygon. In the latter case, the goal is to compute a collection of non-crossing paths of minimum total cost. The case of a rectangular polygonal domain where source-destination pairs appear on the outer and one inner boundary12 is briefly discussed.
Discrete & Computational Geometry, 1997
We give an algorithm to compute a (Euclidean) shortest path in a polygon with h holes and a total of n vertices. The algorithm uses O(n) space and requires O(n +h 2 log n) time.
2003
Given a sequence of k polygons in the plane, a start point s, and a target point, t, we seek a shortest path that starts at s, visits in order each of the polygons, and ends at t. If the polygons are disjoint and convex, we give an algorithm running in time O(kn log(n/k)), where n is the total number of vertices specifying the polygons. We also extend our results to a case in which the convex polygons are arbitrarily intersecting and the subpath between any two consecutive polygons is constrained to lie within a simply connected region; the algorithm uses O(nk 2 log n) time. Our methods are simple and allow shortest path queries from s to a query point t to be answered in time O(k log n + m), where m is the combinatorial path length. We show that for nonconvex polygons this "touring polygons" problem is NP-hard.
Journal of Algorithms, 1986
Computational Geometry, 1997
A diagonal of a planar, simple polygon P is an open line segment that connects two nonadjacent vertices and lies in the relative interior of P. We present a linear time algorithm for finding a shortest diagonal (in the L2 norm) of a simple polygon, improving the previous best result by a factor of log n. Our result provides an interesting contrast to a known Y2(n log r 0 lower bound for finding a closest pair of vertices in a simple polygon-observe that a shortest diagonal is defined by a closest pair of vertices satisfying an additional visibility constraint.
Proceedings of the third annual symposium on Computational geometry - SCG '87, 1987
The problem of finding a rectilinear shortest path amongst obstacles may be stated as follows: Given a set of obstacles in the plane find a shortest rectilinear (L 1) path from a point s to a point t which avoids all obstacles. The path may touch an obstacle but may not cross an obstacle. We study the rectilinear shortest path problem for the case where the obstacles are non-intersecting simple polygons, and present an O(n (logn) 2) algorithm for finding such a path, where n is the number of vertices of the obstacles. This algorithm requires O(nlogn) space. Another algorithm is given that requires O(n(logn) 3/2) time and space. We also study the case of rectilinear obstacles in three dimensions, and show that L 1 shortest paths can be found in O(n 2 (log n) 3) time.
Lecture Notes in Computer Science, 1994
The kernel of a polygon P is the set of all points that see the interior of P. It can be computed as the intersection of the halfplanes that are to the left of the edges of P. We present an O(log log n) time CRCW-PRAM algorithm using n=log log n processors to compute a representation of the kernel of P that allows to answer point containment and line intersection queries eciently. Our approach is based on computing a subsequence of the edges that are sorted by slope and contain the \relevant" edges for the kernel computation.
Arxiv preprint arXiv: …, 2008
The polygon retrieval problem on points is the problem of preprocessing a set of n points on the plane, so that given a polygon query, the subset of points lying inside it can be reported efficiently. It is of great interest in areas such as Computer Graphics, CAD applications, Spatial Databases and GIS developing tasks. In this paper we study the problem of canonical k-vertex polygon queries on the plane. A canonical k-vertex polygon query always meets the following specific property: a point retrieval query can be transformed into a linear number (with respect to the number of vertices) of point retrievals for orthogonal objects such as rectangles and triangles (throughout this work we call a triangle orthogonal iff two of its edges are axisparallel). We present two new algorithms for this problem. The first one requires O(n log 2 n) space and O(k log 3 n loglogn +A) query time. A simple modification scheme on first algorithm lead us to a second solution, which consumes O(n 2 ) space and O(k logn loglogn + A) query time, where A denotes the size of the answer and k is the number of vertices. The best previous solution for the general polygon retrieval problem uses O(n 2 ) space and answers a query in O(k log n + A) time, where k is the number of vertices. It is also very complicated and difficult to be implemented in a standard imperative programming language such as C or C++.
Let P be a simple polygon in 2 with n vertices. The detour of P between two points, p, q ∈ P , is the length of a shortest path contained in P and connecting p to q, divided by the distance of these points. The detour of the whole polygon is the maximum detour between any two points in P . We first analyze properties of pairs of points with maximum detour. Next, we use these properties to achieve a deterministic O(n 2 )-algorithm for computing the maximum Euclidean detour and a deterministic O(n log n)-algorithm which calculates a (1+ε)approximation. Finally, we consider the special case of monotone rectilinear polygons. Their L 1 -detour can be computed in time O(n).
Cccg, 2010
The straight skeleton of a simple polygon is defined as the trace of the vertices when the initial polygon is shrunken in self-parallel manner . In this paper, we propose a simple algorithm for drawing the straight skeleton of a monotone polygon. The time and space complexities of our algorithm are O(nlogn) and O(n) respectively.
Computers & Geosciences, 1997
Point-in-polygon is one of the fundamental operations of Geographic Information Systems. A number of algorithms can be applied. Different algorithms lead to different running efficiencies. In the study, the complexities of eight point-in-polygon algorithms were analyzed. General and specific examples are studied. In the general example, an unlimited number of nodes are assumed; whereas in the second example, eight nodes are specified. For convex polygons, the sum of area method, the sign of offset method, and the orientation method is well suited for a single point query. For possibly concave polygons, the ray intersection method and the swath method shod be seiected. For eight node polygons, the ray intersection method with bounding rectangles is faster.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.