Presentation is loading. Please wait.

Presentation is loading. Please wait.

Geometric Data Structures Dr. M. Gavrilova. Lecture Plan Voronoi diagrams Trees and grid variants.

Similar presentations


Presentation on theme: "Geometric Data Structures Dr. M. Gavrilova. Lecture Plan Voronoi diagrams Trees and grid variants."— Presentation transcript:

1 Geometric Data Structures Dr. M. Gavrilova

2 Lecture Plan Voronoi diagrams Trees and grid variants

3 Part 1 Voronoi diagram Delaunay triangulation

4 Voronoi diagrams VD: Thiessen polygons, Delaunay triangulations, tessellations

5 Tessellation Tessellation is often obtained using Delaunay triangulation.

6 Voronoi diagram Given a set of N sites (points) in the plane or a 3D space Distance function d(x,P) between point x and site P is defined according to some metric Voronoi region Vor(P) is the set of all points which are closer to P than to any other site Voronoi diagram is the union of all Voronoi regions

7 Voronoi Diagram

8 Voronoi diagram

9

10 Voronoi diagram properties Assumption 1. No four points from the set S are cocircular. Property 1. Voronoi vertex is the intersection of 3 Voronoi edges and a common point of 3 Voronoi regions Property 2. Voronoi vertex is equidistant from 3 sites. It lies in the center of a circle inscribed between 3 cites Property 3. Empty circle property This inscribed circle is empty, i.e. it does not contain any other sites Property 4. Nearest-neighbor property If Q is the nearest neighbor of P then their Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check only neighbors in the VD) Property 5. Voronoi region Vor(P) is unbounded if and only if P belongs to the boundary of convex hull of S.

11 VD properties

12

13 Property 3 (empty circle property). The inscribed circle is empty, i.e. it does not contain any other sites. 1)assume a site q lies inside the inscribed circle C. Then  1,,pvdrqvd C . This contradicts the fact that  1 pVorv . 2)assume q lies on the boundary of the inscribed circle. Then  321,,,,pvdpvdpvdqvd . This contradicts non-circumcircularity assumption. v 1 p 3 p 2 p q

14 VD properties Property 4 (Nearest-neighbor property). If q is the nearest neighbor of p then their Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check only neighbors in the VD) Assume  pVor and  qVor don't have common points. Segment pq crosses the boundary of  pVor at a point x. Assume x belongs to the Voronoi edge between  pVor and  sVor.  qxdpxdqpd,,, ,  sxdpxdspd,,, ,  sxdqxd,,  because  qVorxs x , Then  spdqpd,,  – contradicts the fact that q is the nearest neighbor of p. p s q x

15 VD properties Property 5. Voronoi region  pVor is unbounded if and only if p belongs to the boundary of the convex hull  SCH. 1)assume  SCHp . Select a ray  pVorr . r will intersect the boundary of  SCH. Assume r intersects a segment 21 ss. It is easy to show that if rx ,  x then either  pxdsxd,, 1  or  pxdsxd,, 2 . Contradicts the fact that  pVorx  2)if  SCHp  then it is possible to draw a line l through p such that all sites of S lie on the same side of l. Select a ray lr  originating at p. It is easy to show that any rx  is closer to p than to any other site. Then  pVorr , i.e.  pVor is unbounded. p x r s 2 s 1 p x r l

16 Delaunay triangulation Definition 3. A Delaunay triangulation (DT) is the straight-line dual of the Voronoi diagram obtained by joining all pairs of sites whose Voronoi regions share a common Voronoi edge [Delaunay 34]. Follows from the definition: If two Voronoi regions Vor(P) and Vor(Q) share an edge, then sites P and Q are connected by an edge in the Delaunay triangulation If a Voronoi vertex belongs to Vor(P), Vor(Q) and Vor(R), then DT contains a triangle (P,Q,R)

17 Delaunay triangulation

18 DT properties Assumption 2. No three points from the set S lie on the same straight line. Theorem. The straight-line dual of the Voronoi diagram is a triangulation of S [Preparata and Shamos 85]. Property 5. The circumcircle of any Delaunay triangle does not contain any points of S in its interior [Lawson 77]. Property 6. If each triangle of a triangulation of the convex hull of S satisfies the empty circle property, then this triangulation is the Delaunay triangulation of [Lawson 77].

19 VD and DT

20 DT properties The edge of the quadrilateral satisfies the local min-max criterion if the following equation holds: A triangulation satisfies the global min-max criterion if every internal edge of a convex quadrilateral in the triangulation satisfies the local min-max criterion. Property 8. The Delaunay triangulation satisfies the global min- max criterion [Lawson 77]. Property 9. If a triangulation of the convex hull of satisfies the global min-max criterion then it is the Delaunay triangulation of [Lawson 77].

21 VD and DT Both DT and VD effectively represent the proximity information for the set of sites. They can be easily transformed into each other. VD contains geometrical information, while DT contains topological information.

22 Generalized Voronoi diagram Given a set S of n sites (spheres) in d - dimensional space Distance function d(x,P) between a point x and a site P is defined.

23 Generalized Voronoi diagram A generalized Voronoi diagram (GVD) for a set of objects in space is the set of generalized Voronoi regions where d(x,P) is a distance function between a point x and a site P in the d -dimensional space.

24 Generalized Delaunay tessellation A generalized Delaunay triangulation (GDT) is the dual of the generalized Voronoi diagram obtained by joining all pairs of sites whose Voronoi regions share a common Voronoi edge.

25 General metrics Generalized distance functions Power Additively weighted Euclidean Manhattan supremum x P d(x,P) P x P x p r  Pxd, P x p r  Pxd,

26 Power and Euclidean Voronoi diagrams P Q B(P,Q) Euclidean bisectorPower bisector Power diagram and Delaunay triangulation P Q B(P,Q) Euclidean diagram and Delaunay triangulation

27 Manhattan and Supremum VD Supremum bisectors Manhattan bisectors Manhattan diagram and Delaunay triangulation Supremum diagram and Delaunay triangulation

28 Properties of Generalized VD and DT The vertex of generalized Voronoi diagram is a center of a sphere inscribed between d +1 Voronoi sites (spheres). The inscribed sphere is empty, i.e. it does not contain any other sites. One of the facets of the generalized Voronoi region Vor(P) defines a nearest-neighbor of P. A Voronoi region Vor(P) is unlimited if and only if site P belongs to the convex hull of S. The sphere inscribed between the sites comprising a simplex of generalized Delaunay tessellation is an empty sphere. The power Delaunay tessellation of a set of spheres S is a tetrahedrization.

29 Algorithmic Strategies Incremental Divide-and-conquer Sweep-line/plane Dimension reduction Geometric decomposition

30 Algorithmic Strategies Algorithm development techniques on example of Voronoi Diagrams Incremental construction Divide and conquer Sweep-plane Geometric transformations Dynamic data structures

31 Incremental construction INCIRCLE condition power Euclidean Supremum Polynomial of 4 th order in the plane Polynomial of 8 th order in the plane System of linear equations and inequalities in the plane

32 Incremental construction Incremental method outline Insert new site P Perform swap operations on quadrilaterals where the empty-sphere condition is not satisfied Method complexity is O(n 2 ) in the plane.

33 Sweep-plane algorithm Algorithm description Throw pebbles in the water Intersection of waves gives the Voronoi diagram Add time as 3rd dimension: waves transform to pyramids. Sweep pyramids with the sweep-plane to get the Voronoi diagram

34 Sweep-plane algorithm Properties The complexity of the sweep-plane algorithm in generalized Manhattan metric is O(n log n). Sweep-plane method is not applicable to the power diagram construction.

35 Sweep-plane algorithm An example of a sweep-plane construction of a Voronoi diagram in L 1 metric

36 Cones in L 1 Sweep-plane algorithm

37 Sweeping the cones Sweep-plane algorithm

38 Parabolas sweep direction Sweep-plane algorithm

39 Site event Sweep-plane algorithm

40 Site event Sweep-plane algorithm

41 two half-bisectors are created one is growing Sweep-plane algorithm

42 The half-bisector changes its direction Sweep-plane algorithm

43 Site event 2 half-bisectors created Sweep-plane algorithm

44 The half-bisector Changes its direction Sweep-plane algorithm

45 Circle event Triangle added to DT 2 half-bisectors deleted 1 half-bisector created Sweep-plane algorithm

46 Half-bisector changes its direction Sweep-plane algorithm

47 No more events Sweep-plane algorithm

48 Resulting Voronoi diagram and Delaunay triangulation Sweep-plane algorithm

49 Waves in Manhattan metric Waves in power metric

50 Swap method: from VD to power diagram Relationship between Voronoi bisector and power bisector: The power bisector is moved relative to the Voronoi bisector by Bisector transformation

51 Swap method: from VD to power diagram Algorithm overview Inflate VD sites Transform edges of VD Perform INCIRCLE test on quadrilaterals and perform swap operations if needed. The worst-case complexity of algorithm is O(n 2 ).

52 Swap method Voronoi to power (a) p (b) p e e e * 1 p p p 2 1 3 4 2 p p p 3 4 e *

53 Dynamic data structures – swap application Approach construct and maintain a dynamic Delaunay triangulation for the set of moving disks (in some metric). Collisions checks are performed only along the Delaunay edges.

54 Dynamic VD and DT Problem Given a set of N moving and/or changing (i.e. growing) sites Construct the VD (DT) for the set Maintain the VD (DT) dynamically

55 Dynamic VD and DT Dynamic Voronoi diagram Dynamic Delaunay triangulation

56 Dynamic VD and DT Dynamic DT is easier to maintain than dynamic VD in a sense that the coordinates of VD vertices must be calculated, while coordinates of DT vertices (the sites) are already known for any moment of time As sites move, the topological structure of DT (and VD) changes only at discrete moments of time, which are called topological events. Topological event involves swapping of the diagonal in a quadrilateral in the DT In the VD corresponding edge shrinks to zero and another edge starts to grow

57 Swap condition

58 INCIRCLE test 1. Power metric To determine the swap time we have to solve 2. Euclidean metric 3. Manhattan metric (L  )

59 Dynamic DT maintenance Preprocessing Construct the static Delaunay triangulation for the original site distribution For every quadrilateral in DT calculate the potential topological event. Insert all such events into the priority event queue sorted according to the time order Iteration Take the next event from the event queue Perform the swap operation and update the data structure Delete topological events planned for the four disappearing quadrilaterals from the event queue. Compute the new topological events for the four new quadrilaterals and insert them into the queue.

60 Algorithm complexity Time Constructing initial static DT - O(N log N) Each swap - O(1) Insertion into the priority queue - O(log N) Deletion from the queue can be performed in O(1) Number of topological events depends on the trajectories of moving sites. It can vary from from O(1) up to O(n 3 ) and even to infinity (in the case of periodic trajectories) When sites do not move, but just grow, we conjecture that the number of topological events will not be greater than O(N) in general case. Space DT occupies O(N) Queue requires O(N) because only one event can be scheduled for each edge in the DT

61 Geometric Data Structures: Part 2: Grid files and tree variants

62 Part 2 Grid file Tree Variants

63 Geometric data structures Voronoi diagrams Regular grid (mesh) Grid file Quad tree k-d tree Interval tree

64 Trees BST – search trees, O(n) AVL, IPR – balanced O(log n) B-trees – for indexing and searching in data bases: Grow from the leaf level More compact – faster search B+, B* - used for indexing, store data in leaves, nodes are more full

65 Operations on spatial trees Spatial queries Point location Stabbing query (which intervals/polygons contain the point) Window query – which objects (polygons, points) are intersecting the given window (polygon)

66 Spatial queries (2D) Point query – find an object containing a point (find Voronoi region containing a point) Window query – find an object overlapping a rectangle Spatial join – join parts of objects satisfying some relationship (intersection, adjacency, containment)

67 Interval trees Geometric, 1-dimensional tree Interval is defined by (x 1,x 2 ) Split at the middle (5), again at the middle (3,7), again at the middle (2,8) All intervals intersecting a middle point are stored at the corresponding root. 123456789 (4,6) (4,8) (6,9) (7.5,8.5) (2,4)

68 Interval trees Finding intervals – by finding x 1, x 2 against the nodes Find interval containing specific value – from the root Sort intervals within each node of the tree according to their coordinates Cost of the “stabbing query”– finding all intervals containing the specified value is O(log n + k), where k is the number of reported intervals.

69 SAM (Spatial Access Method) Constructs the minimal bounding box (mbb) Check validity (predicate) on mbb Refinement step verifies if actual objects satisfy the predicate.

70 The grid Fixed grid: Stored as a 2D array, each entry contains a link to a list of points (object) stored in a grid. a,b

71 Page overflow Too many points in one grid cell: Split the cell!

72 Rectangle indexing with grids Rectangles may share different grid cells Duplicates are stored Grid cells are of fixed size

73 Grid file vs. grid In a grid file, the index is dynamically increased in size when overflow happens. The space is split by a vertical or a horizontal line, and then further subdivided when overflow happens! Index is dynamically growing Boundaries of cells of different sizes are stores, thus point and stabbing queries are easy

74 The quadtree Instead of using an array as an index, use tree! Quadtree decomposition – cells are indexed by using quaternary B-tree. All cells are squares, not polygons. Search in a tree is faster!

75 Grid file Example of a grid file

76 Linear quadtree B+ index – actual references to rectangles are stored in the leaves, saving more space+ access time Label nodes according to Z or “pi” order

77 Linear quadtree Level of detail increases as the number of quadtree decompositions increases! Decompositions have indexes of a form: 00,01,02,03,10,11,12,13, 2,300 301,302,303,31,32,33 Stores as Bplus tree

78 Finer Grid R-tree Each object is decomposed and stored as a set of rectangles Object decomposition: larger areas of a grid are treated as one element Raster decomposition: each smaller element is stored separately

79 R-trees R-tree Objects are grouped together according to topological properties not a grid. More flexibility. R * tree- Optimizes Node overlapping Areas covered by the node R+ tree – B+ tree, bounding rectangles do not intersect

80 K-d tree Used for point location, k –number of the attributes to perform the search Geometric interpretation – to perform search in 2D space – 2-d tree Search components (x,y) interchange

81 K-d tree a c b e d d b f f cae

82 Conclusions Numerous applications exist based on Voronoi diagram methodology and tree/grid based data structures.


Download ppt "Geometric Data Structures Dr. M. Gavrilova. Lecture Plan Voronoi diagrams Trees and grid variants."

Similar presentations


Ads by Google