The stochastic walk algorithms for point location in pseudo-triangulations
Introduction
Planar subdivisions are useful geometrical structures, which enable to convert global geometrical problems to be considered locally. Examples of such subdivisions include Voronoi diagrams, triangulations, trapezoidations, uniform subdivision, visibility maps. A relatively new kind of subdivision is a pseudo-triangulation which consists of polygons with three convex vertices, see Fig. 1. A pseudo-triangulation is useful in ray shooting, visibility problems and kinetic collision detection.
A fundamental problem in any planar subdivision is a point location. Such a problem appears in the search of the planar subdivision and also during its construction by the incremental insertion (the cell where the point to be inserted lies has to be found and further subdivided). In its most general form, the problem is as follows: Given a planar subdivision c consisting of n cells, determine the cell ci, 0 ⩽ i < n where a query point q is located if such a cell exists.
As usually this query is done for many points, efficient algorithms are needed. The optimal O(log n) point location algorithms use hierarchical data structures. Unfortunately, in the case of large data, additional memory cost for such data structures may not be acceptable. In such a case, the class of walk algorithms is used; they are not time-optimal but they have low extra memory requirements (no hierarchical data structure is built, but pointers to neighbouring cells have to be kept) and they are simple. Therefore, the walk is quite a popular solution namely for engineering applications on triangulations.
As far as we know, no walk algorithm specialized on pseudo-triangulations has been developed. Although a triangulation is a special case of pseudo-triangulation and many common features between both classes exist, still the generalization of the triangulation walk algorithm to work on pseudo-triangulations is not completely straightforward. In this paper, we propose a new walk algorithm for point location in pseudo-triangulations in two versions.
The paper is organized into 6 sections. Section 2 briefly introduces pseudo-triangulations and point location problem. Section 3 explains the walk algorithms for triangulations. Section 4 presents two versions of the point location walk algorithms for pseudo-triangulations. Section 5 brings experiments and results, Section 6 concludes the paper.
Section snippets
Background
A pseudo-triangulation consists of pseudo-triangles. A pseudo-triangle is a planar polygon which has three convex vertices (also called corners), see Fig. 2a. The corners connect three concave chains of edges (also called sides). The chain of edges can also be just one edge, see Fig. 2b.
A pseudo-triangulation of a finite set S of n points is a maximum planar subdivision of the convex hull of S into pseudo-triangles whose vertex set is S. A triangulation is a special case of pseudo-triangulation
Walk algorithms on triangulations
The algorithm does not need any hierarchical data structure. However, to work efficiently, an information about neighbouring triangles to the given triangle is necessary, either in the form of pointers, or indices of those triangles. The point is located by traversing from one triangle to another according to point position to the triangle edges. To test the point q against the edge ab of the triangle abc, the orientation test of three points is usually applied:
The remembering stochastic walk algorithm on pseudo-triangulations
A pseudo-triangulation has the following properties influencing the walk algorithm design: unlike a triangle, the pseudo-triangle does not have exactly three neighbours, however, the amortized number of neighbours per pseudo-triangle is still O(1) as the pseudo-triangulation is a planar graph with O(n) edges. The number of edges in a pseudo-triangulation is between 2n and 3n; these bounds are given by a triangulation which has approximately 3n edges and by a minimum pseudo-triangulation which
Experiments and results
All three presented algorithms were implemented in Java 5.0 under Windows XP operating system. The testing computer was PC Athlon XP 1600+, 768 MB RAM, Windows XP. Experiments were done on artificially generated data sets up to 100,000 points, in uniform distribution, normal distribution, cluster distribution (10 clusters of uniformly distributed points) and points sitting in a regular grid, see Fig. 5. Several GIS data sets were tested, too (up to 100,000 points). On these data sets, Delaunay
Conclusion
We presented two versions of a stochastic walk algorithm for pseudo-triangulations. The algorithms have been tested on various distributions of input points. By the experiments we have derived that the expected time complexity is approximately O((n log n)1/2). As the number of faces of a pseudo-triangulation is usually smaller than in triangulations, both new algorithms test less faces and are therefore a bit faster than the original remembering walk algorithm.
Acknowledgements
This work has been supported by the Grant Agency of the Czech Republic, Project No. P202/10/1435 and by the European Regional Development Fund (ERDF), Project “NTIS – New Technologies for Information Society”, European Centre of Excellence, CZ.1.05/1.1.00/02.0090.
References (35)
- et al.
A Pedestrian approach to ray shooting: shoot a ray, take a walk
J. Algorithms
(1995) - et al.
Intersections with random geometric objects
Comput Geometry
(1998) - et al.
Ray shooting in polygons using geodesic triangulations
Algorithmica
(1994) - Pocchiola M, Vertger G. Computing the visibility graph via pseudo-triangulations. In: Proceedings of the 11th annual...
- Pocchiola M, Vertger G. The visibility complex. In: Proceedings of the 9th annual symposium on computational geometry...
- et al.
Topologically sweeping visibility complexes via pseudo-triangulations
Discrete Comput Geom
(1996) - Pocchiola M, Vertger G. Pseudo-triangulations: theory and applications. In: Proceedings of the 12th annual ACM...
- Kirkpatrick D, Snoeyink J, Speckmann B. Kinetic collision detection for simple polygons. In: Proceedings of the 16th...
- Kirkpatrick D, Speckmann B. Separation sensitive kinetic separation structures for convex polygons. In: Proceedings of...
- Streinu I. A combinatorical approach to planar non-colliding robot arm motion planning. In: Proceedings of the 41st...
Deformable free-space tilings for kinetic collision detection
Int J Robot Res
Counting and enumerating pointed pseudo-triangulations with greedy flip algorithm
SIAM J Comput
Cited by (3)
Skip (Insertion) Sort, Skip List Based New and Very Efficient Sorting Algorithm
2023, Research SquareSARDO: An Automated Search-and-Rescue Drone-Based Solution for Victims Localization
2022, IEEE Transactions on Mobile Computing
- 1
This work has been done when the author was affiliated with the Charles University, Faculty of Mathematics and Physics, Prague, Czech Republic.