Title: Walking Algorithms for Point Location
1 Walking Algorithms for Point Location
- Roman Soukal
- Ivana Kolingerová
2Point Location
- Fundamental problem in Computational Geometry
- Triangulations, Tetrahedronizations,
Pseudotriangulations, Voronoi Diagrams etc. - A lot of applications
- Geographic Information Systems (GIS)
- Computer Aided Design (CAD)
- Computer Graphics
- Motion Planning
- Etc.
Roman Soukal Walking Algorithms for Point
Location
3The most effective solutions
- Expected computation complexity O(log n) where n
is a number of elements in a mesh - Sophisticated structures are required
- DAG, skip list, quadtree, octree, random sampling
- Disadvantages
- Memory demands (usually O(n))
- Difficult implementation (especially
implementation of modifications) - Etc.
- Alternative solutions
- Walking location algorithms
- Computational complexity to
De01
Roman Soukal Walking Algorithms for Point
Location
4Walking algorithms
- Location of an element (the element which
contains the query point) using walking through
neighboring elements - No extra data structures it needs only
information about connectivity - Types of walking algorithms
- Visibility walk
- Straight walk
- Orthogonal walk
Figure 2 Point location in triangulation using
walking algorithms
Roman Soukal Walking Algorithms for Point
Location
5Performed research
- Triangulation
- Visibility walk
- Straight walk
- Orthogonal walk
- Tetrahedronisation
- Visibility walk
- Pseudotriangulation
- Special modification of Visibility walk Tr08
- Choice of the first elementMu99
Roman Soukal Walking Algorithms for Point
Location
6Visibility walk in E2
- Fixed orientation of ?
- Determinant test
- Simple implementation
Figure 3 Point location in triangulation using
Visibility walk algorithm
Roman Soukal Walking Algorithms for Point
Location
7Remembering Stochastic walk in E2
- Stochastic otherwise only Delaunay
Triangulation - Remembering
Figure 5 Visibility walk may loop on a
non-Delaunay triangulation
Roman Soukal Walking Algorithms for Point
Location
8Improvement of Remembering Stochastic walk by I.
Kolingerova
- Remembering Stochastic walk
- 1 or 2 edge tests per triangle
- Average 1,4
- Improvement
- 1 edge test per triangle (about 40 fewer edge
tests) - How to find the query triangle?
Roman Soukal Walking Algorithms for Point
Location
9Improvement of Remembering Stochastic walk by
Ko06
- Existed solutions for looping
- Ko06 Using standard Remembering Stochastic
walk algorithm for final location - Flag Needs modification of structure
- Solution
- Distance control after A iterations where A is a
constant depended on N - New possible solutions?
Roman Soukal Walking Algorithms for Point
Location
10Original Straight walk
- Two steps of algorithm
- Initialization step
- Straight walk step
- Determinant orientation test is used
-
- Goals
- Simplify initialization step
- Use faster tests than determinant orientation
tests
11Straight walk example
- Initialization step - 1 Determinant orientation
test - Straight walk step 2 Determinant orientation
tests
Figure 7 Original Straight walk
12Modified Straight walk
- The initialization step is simplified to constant
number of operations - Implicit line equation test is used
-
13Modified Straight walk Example
- Initialization step
- Implicit line equation test for pq
- Problem and solution
14Length of Remembering Stochastic Walk in Straight
walk
Table 1 The properties of final location with
Remembering Stochastic walk
15Solution
- Remembering Stochastic walk for final location
- 2 solutions
- Distance
- Normal
- Normal is faster
Figure 9 Normal Straight walk
16Orthogonal walk
Starting point of walking for ax X
- Best result
- Why?
- Practical application
- Dynamic Delaunay triangulation for kinetic data
- Terrain deformation for virtual reality
- Faster up to 15
Ax of walking in X
Ax of walking in Y
Last triangle of walking in X and starting
triangle of walking in Y
Path of Orthogonal walk
Query point
Path of Remembering Stochastic walk
Figure 10 Point location in triangulation using
Orthogonal walk
Roman Soukal Walking Algorithms for Point
Location
17How to choose the first element?
- Mu99 We choose the closest element from the
set - The set contains some randomly selected elements
from mesh - How big must be this set?
- Depends on the speed of the algorithm
- The size of the set
Roman Soukal Walking Algorithms for Point
Location
18Is there a speedup on all types of datasets?
- Tests on DT made on different datasets
- Random generated points in square
- Clusters
- Grid
- Gauss
- Arc
- 100, 200, 500, 1000, 2000, 5000, 104, 2104,
5104, 105, 2105, 5105, 106, 2106 points in
dataset
Roman Soukal Walking Algorithms for Point
Location
19Results
Table 2 Speedup with the optimal choice of the
first element (time of location of 10000
points) Intel Pentium D 3GHz 2x2MB L2 Cache, 3GB
RAM
Roman Soukal Walking Algorithms for Point
Location
20Remembering Stochastic walk in E3
Figure 12 Walking in tetrahedra mesh
Roman Soukal Walking Algorithms for Point
Location
21Conclusion
- E2
- The best is Orthogonal walk
- Expected computational complexity down to
- E3
- The best is Remembering Stochastic walk for E3
- Expected computational complexity down to
- Pseudotriangulations
Figure 13 Results of chosen algorithms
Roman Soukal Walking Algorithms for Point
Location
22Future work
- Tests of properties on non-Delaunay
triangulations (regular, greedy, etc.) - Tests of hierarchical structures
23The most important references
- De01 Devillers, O., Pion, S., Teillaud, M. ,
2001. Walking in a Triangulation. International
Journal of Foundations of Computer Science. - Fl91 L. D. Floriani, B. Falcidieno, G. Nagy, C.
Pienovi On sorting triangles in Delaunay
tessellation, Algorithmica 6, 1991 - Mu99 Mücke, E. P., Saias, I., Zhu, B., 1999.
Fast Randomized Point Location without
Preprocessing in Two- and Three-dimensional
Delaunay Triangulations. Computational Geometry
Theory and Applications. - Ko06 Kolingerová, I., 2006. A Small Improvement
in the Walking Algorithm for Point Location in a
Triangulation. 22nd European Workshop on
Computational Geometry. - Tr08 Trcka, J., Kolingerová, I., 2008. The
Stochastic Walk Algorithm for Pseudotriangulations
. Draft.
Roman Soukal Walking Algorithms for Point
Location
24Thank you for your attention
Questions?
Roman Soukal Walking Algorithms for Point
Location