Geometric Data Structures - PowerPoint PPT Presentation

About This Presentation
Title:

Geometric Data Structures

Description:

Tessellation. Tessellation is often obtained using Delaunay triangulation. ... The power Delaunay tessellation of a set of spheres S is a tetrahedrization. ... – PowerPoint PPT presentation

Number of Views:136
Avg rating:3.0/5.0
Slides: 83
Provided by: dmitrig
Category:

less

Transcript and Presenter's Notes

Title: Geometric Data Structures


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
Voronoi diagram
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
VD properties
13
VD properties
14
VD properties
15
VD properties
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

26
Power and Euclidean Voronoi diagrams
Euclidean bisector
Power bisector
Power diagram and Delaunay triangulation
Euclidean diagram and Delaunay triangulation
27
Manhattan and Supremum VD
Manhattan bisectors
Supremum 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
Polynomial of 4th order in the plane
Euclidean
Polynomial of 8th order in the plane
System of linear equations and inequalities in
the plane
Supremum
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(n2) 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 L1 metric

36
Sweep-plane algorithm
Cones in L1
37
Sweep-plane algorithm
Sweeping the cones
38
Sweep-plane algorithm
sweep direction
Parabolas
39
Sweep-plane algorithm
Site event
40
Sweep-plane algorithm
Site event
41
Sweep-plane algorithm
two half-bisectors are created one is growing
42
Sweep-plane algorithm
The half-bisector changes its direction
43
Sweep-plane algorithm
Site event 2 half-bisectors created
44
Sweep-plane algorithm
The half-bisector Changes its direction
45
Sweep-plane algorithm
Circle event Triangle added to DT 2
half-bisectors deleted 1 half-bisector created
46
Sweep-plane algorithm
Half-bisector changes its direction
47
Sweep-plane algorithm
No more events
48
Sweep-plane algorithm
Resulting Voronoi diagram and Delaunay
triangulation
49
Sweep-plane algorithm
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(n2).

52
Swap method
  • Voronoi to power

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
To determine the swap time we have to solve
1. Power metric
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(n3)
  • 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 (x1,x2)
  • 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.

(4,6) (4,8)
(6,9)
(2,4)
(7.5,8.5)
68
Interval trees
  • Finding intervals by finding x1, x2 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
d
d
e
c
f
b
f
c
a
e
b
a
82
Conclusions
  • Numerous applications exist based on Voronoi
    diagram methodology and tree/grid based data
    structures.
Write a Comment
User Comments (0)
About PowerShow.com