Download presentation
Presentation is loading. Please wait.
Published byRoss Oliver Modified over 9 years ago
1
Walking Algorithms for Point Location Roman Soukal Ivana Kolingerová
2
Roman Soukal – Walking Algorithms for Point Location2 / 24Roman Soukal – Walking Algorithms for Point Location Point 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. Figure 1: Point Location in Triangulation Query Triangle Query Point Explanation of Figure 1.:
3
Roman Soukal – Walking Algorithms for Point Location3 / 24Roman Soukal – Walking Algorithms for Point Location The 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]
4
Roman Soukal – Walking Algorithms for Point Location4 / 24Roman Soukal – Walking Algorithms for Point Location Walking 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 Visited Triangle Query Point Path of walking algorithm Explanation of Figure 2.: Figure 2: Point location in triangulation using walking algorithms
5
Roman Soukal – Walking Algorithms for Point Location5 / 24Roman Soukal – Walking Algorithms for Point Location Performed research Triangulation Visibility walk Straight walk Orthogonal walk Tetrahedronisation Visibility walk Pseudotriangulation Special modification of Visibility walk [Tr08] Choice of the first element[Mu99]
6
Roman Soukal – Walking Algorithms for Point Location6 / 24Roman Soukal – Walking Algorithms for Point Location Visibility walk in E 2 Fixed orientation of Δ Determinant test Simple implementation Figure 3: Point location in triangulation using Visibility walk algorithm
7
Roman Soukal – Walking Algorithms for Point Location7 / 24Roman Soukal – Walking Algorithms for Point Location Remembering Stochastic walk in E 2 “Stochastic” – otherwise only Delaunay Triangulation “Remembering” Figure 5: Visibility walk may loop on a non-Delaunay triangulation Figure 4: Point location in the triangulation using Remembering Stochastic walk algorithm
8
Roman Soukal – Walking Algorithms for Point Location8 / 24Roman Soukal – Walking Algorithms for Point Location Improvement 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? Figure 6: Looping in Improvement of Remembering Stochastic walk Direction Query Point Loop
9
Roman Soukal – Walking Algorithms for Point Location9 / 24 Improvement 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
10
10 / 24 Original 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
11
Roman Soukal – Walking Algorithms for Point Location11 / 24 Straight walk example Figure 7: Original Straight walk Triangle on Straight walk Triangle on Initialization step Path of Straight walk Explanation of Figure 5.: Path of Initialization step Line pq Initialization step - 1 Determinant orientation test Straight walk step – 2 Determinant orientation tests
12
Roman Soukal – Walking Algorithms for Point Location12 / 24 Modified Straight walk The initialization step is simplified to constant number of operations Implicit line equation test is used
13
Roman Soukal – Walking Algorithms for Point Location13 / 24 Modified Straight walk Example Initialization step Implicit line equation test for pq Problem and solution Triangle on Visibility walk Triangle on Straight walk Path of Visibility walk Explanation of Figure 6.: Path of Straight step Line pq Figure 8: Modified Straight walk Normal line
14
Roman Soukal – Walking Algorithms for Point Location14 / 24 Length of Remembering Stochastic Walk in Straight walk Table 1: The properties of final location with Remembering Stochastic walk
15
Roman Soukal – Walking Algorithms for Point Location15 / 24 Solution Remembering Stochastic walk for final location 2 solutions Distance Normal Normal is faster Path of Remembering Stochastic walk Path of Straight walk Pilot line Starting point Pilot point of the last triangle in Straight walk Last triangle of Straight walk Query point Control normal Direction of walking Figure 9: Normal Straight walk
16
Roman Soukal – Walking Algorithms for Point Location16 / 24Roman Soukal – Walking Algorithms for Point Location Orthogonal walk Best result Why? Practical application Dynamic Delaunay triangulation for kinetic data Terrain deformation for virtual reality Faster up to 15 % Path of Remembering Stochastic walk Query point Starting point of walking for ax X Last triangle of walking in X and starting triangle of walking in Y Ax of walking in Y Path of Orthogonal walk Ax of walking in X Walking direction Figure 10: Point location in triangulation using Orthogonal walk
17
Roman Soukal – Walking Algorithms for Point Location17 / 24 How 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
18
18 / 24 Is 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, 10 4, 2*10 4, 5*10 4, 10 5, 2*10 5, 5*10 5, 10 6, 2*10 6 points in dataset Roman Soukal – Walking Algorithms for Point Location Direction of walking Query point Figure 11: Point location in triangulation made on Arc
19
Roman Soukal – Walking Algorithms for Point Location19 / 24 Results Speedup up to 350-550% Roman Soukal – Walking Algorithms for Point Location Algorithm n=2000n=20000n=200000n=2000000 N[ms]O[ms]N[ms]O[ms]N[ms]O[ms]N[ms]O[ms] Remembering walk 164,984,1566,4241,22582,767284501625 Flag Fast walk 156,194,2498,4243,62075,3651,577421531 Rem. Stochastic walk 218,6104,8778,2299,83187,4825,796521969,3 Flag Fast walk (Stoch.) 231,1126,6764,6313,72906,2781,48864,61802,6 Normal Straight walk 127,179,3435224,32018,56086921,81462,4 Orthogonal walk 73,357263,6174,11175,1527,14578,21291,2 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
20
Roman Soukal – Walking Algorithms for Point Location20 / 24 Remembering Stochastic walk in E 3 Roman Soukal – Walking Algorithms for Point Location Determinant test Figure 12: Walking in tetrahedra mesh
21
Roman Soukal – Walking Algorithms for Point Location21 / 24Roman Soukal – Walking Algorithms for Point Location Conclusion E 2 The best is Orthogonal walk Expected computational complexity down to E 3 The best is Remembering Stochastic walk for E 3 Expected computational complexity down to Pseudotriangulations Figure 13: Results of chosen algorithms
22
Roman Soukal – Walking Algorithms for Point Location22 / 24 Future work Tests of properties on non-Delaunay triangulations (regular, greedy, etc.) Tests of hierarchical structures
23
Roman Soukal – Walking Algorithms for Point Location23 / 24Roman Soukal – Walking Algorithms for Point Location The 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] Trčka, J., Kolingerová, I., 2008. The Stochastic Walk Algorithm for Pseudotriangulations. Draft.
24
Roman Soukal – Walking Algorithms for Point Location24 / 24Roman Soukal – Walking Algorithms for Point Location Thank you for your attention… Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.