Presentation is loading. Please wait.

Presentation is loading. Please wait.

Walking Algorithms for Point Location Roman Soukal Ivana Kolingerová.

Similar presentations


Presentation on theme: "Walking Algorithms for Point Location Roman Soukal Ivana Kolingerová."— Presentation transcript:

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?


Download ppt "Walking Algorithms for Point Location Roman Soukal Ivana Kolingerová."

Similar presentations


Ads by Google