Hierarchical Voronoi diagrams for spatial data indexing and paging Christopher Gold Dept. Computing & Mathematics, University of Glamorgan, Pontypridd.

Slides:



Advertisements
Similar presentations
AI Pathfinding Representing the Search Space
Advertisements

Nearest Neighbor Search
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Searching on Multi-Dimensional Data
Computational Geometry II Brian Chen Rice University Computer Science.
CSE 381 – Advanced Game Programming Scene Management
Introduction to Spatial Database System Presented by Xiaozhi Yu.
Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull 
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Convex Hulls in 3-space Jason C. Yang.
DEpthLAUNAY1 DEpthLAUNAY Manuel Abellanas Alfredo de las Vegas Facultad de Informática - UPM.
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
Discrete Geometry Tutorial 2 1
Indexing Network Voronoi Diagrams*
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
Spatial Information Systems (SIS)
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Computational Geometry -- Voronoi Diagram
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Multidimensional Data. Many applications of databases are "geographic" = 2­dimensional data. Others involve large numbers of dimensions. Example: data.
Computational Geometry and Spatial Data Mining
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
Geometric Data Structures Dr. M. Gavrilova. Lecture Plan Voronoi diagrams Trees and grid variants.
CPSC 335 Geometric Data Structures in Computer Modeling and GIS Dr. Marina L. Gavrilova Assistant Professor Dept of Comp. Science, University of Calgary,
Delaunay Triangulation on the GPU Dan Maljovec. CPU Delaunay Triangulation Randomized Incremental Algorithm 1.Construct Bounding triangle 2.Choose point.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2001 Lecture 4 Chapter 6: Arrangements Monday,
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Point Location in Delaunay Triangulations. Inspiration: Graphics software wants to light a model and needs to know which face a light ray hits You moved.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.
1 University of Denver Department of Mathematics Department of Computer Science.
1 Street Generation for City Modeling Xavier Décoret, François Sillion iMAGIS GRAVIR/IMAG - INRIA.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Spatial Indexing I Point Access Methods. Spatial Indexing Point Access Methods (PAMs) vs Spatial Access Methods (SAMs) PAM: index only point data Hierarchical.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
Trees for spatial data representation and searching
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
CS654: Digital Image Analysis Lecture 3: Data Structure for Image Analysis.
Dynamic Meshing Using Adaptively Sampled Distance Fields
The BSP-tree from Prof. Seth MIT.. Motivation for BSP Trees: The Visibility Problem We have a set of objects (either 2d or 3d) in space. We have.
12/4/2001CS 638, Fall 2001 Today Managing large numbers of objects Some special cases.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
A New Voronoi-based Reconstruction Algorithm
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Delaunay Triangulation on the GPU
Maths & Technologies for Games Spatial Partitioning 2
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
1/57 CS148: Introduction to Computer Graphics and Imaging Geometric Modeling CS148 Lecture 6.
1 Point Location Strategies Idit Haran
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 6 with some material.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Solid Modeling Dr. Scott Schaefer.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Polygon Triangulation
Delaunay Triangulations and Control-Volume Meshing Michael Murphy.
Mesh Generation, Refinement and Partitioning Algorithms Xin Sui The University of Texas at Austin.
Decimation Of Triangle Meshes
An Introduction to Computational Geometry
COMP 9517 Computer Vision Segmentation 7/2/2018 COMP 9517 S2, 2017.
Spatial Indexing I Point Access Methods.
CS475 3D Game Development Level Of Detail Nodes (LOD)
Query Processing in Databases Dr. M. Gavrilova
Craig Schroeder October 26, 2004
Quadtrees 1.
Unstructured grid: an introduction
Presentation transcript:

Hierarchical Voronoi diagrams for spatial data indexing and paging Christopher Gold Dept. Computing & Mathematics, University of Glamorgan, Pontypridd CF37 1DL Wales UK

Introduction The Voronoi diagram (VD) partitions space into cells whose interior points are closest to the generating point The Delaunay triangulation (DT) is the dual of this – its edges connect generators that have adjacent cells We can walk through either by using simple geometric tests and following the VD or DT edges

The Problem Hierarchies are desirable for rapid searching, paging large data sets, etc. We walk through the higher level cells to find the one containing the desired location, drop to the next level and continue at a finer resolution BUT: The VD cannot be made directly into a hierarchy – lower level cells will not fit exactly into higher level cells

Two Voronoi levels

Spatial Indexing Traditionally we have a coarse grid whose cells contain finer details Quad-trees: the map is subdivided into hierarchical rectangles as points are added Spherical trees: triangles on the sphere Our approach: Christaller hierarchy (administrative optimization model)

Christaller hierarchy

“FastWalk” This implies that a cell is within a higher level index cell if its generator is inside We can “walk” from cell to cell as described before, then drop down to the next level and continue Each index generator has a pointer down to some child generator in the index cell This gives a logarithmic search time

Three-level Voronoi hierarchy

Three levels of Voronoi cells

Index Generators Any desired method may be used to get generators at the index level - They may be sampled from the lower level generators - They may be on a grid - They may be random Special care is needed if an index cell is nearly empty These principles are enough to give fast access to data entirely stored in memory

Data Structures Edge structures are preferable for navigating through a level as they allow direct walking rather than searching within individual triangles, etc. We use the Quad-Edge data structure as it stores both the primal and the dual links We walk along the edges to locate points Index generators have “down” pointers giving access to a more detailed level

The Quad-Edge data structure TQuad (Type of one quad) N : TQuad (N points to the next Edge/ Face) R : TQuad (R points to the next ¼ Edge (TQuad)) V : TPoint (V points to the vertices/ faces)

Make Edge function Quad.MakeEdge(Pt1, Pt2 : Point) : Quad; var Q1, Q2, Q3, Q4 : Quad; begin Q1 := Quad.Create;Q2 := Quad.Create; Q3 := Quad.Create;Q4 := Quad.Create; {create four new 1/4 branches for the edges} Q1.R := Q2;Q3.R := Q3; Q3.R := Q4;Q4.R := Q1; {four branches link together} Q1.N := Q1;Q3.N := Q4; Q3.N := Q3;Q4.N := Q2; {link Q1 and Q3 to themselves, Q2 and Q4 link to each other} Q1.Org := Pt1;Q1.Dest := Pt2; Q3.Org := Pt2;Q3.Dest := Pt1; Result := Q1; {link pointer to vertices} end; Make-Edge

Splice procedure Quad.Splice (a, b); {where a, b are input Quad-Edges} var Alpha, Beta, An, Bn. Aln, Ben : Quad; begin {get neighboring edges : Alpha and Beta in Guibas and Stolfi} Alpha := A.N.R; Beta := B.N.R; An := A.N; Bn := B.N; Aln := Alpha.N; Ben := Beta.N; {reconnect the four pointers} A.N := Bn;B.N := An; Alpha.N := Ben;Beta.N := Aln; end; Delete Edge procedure Quad.DeleteEdge (e); begin e.R.R.R.Free;e.R.R.Free; e.R.Free;e.Free; {Release Memory when deleting edge} end;

Paging Spatial indexing is straightforward; paging is harder if our structure is split into disc pages However, the same approach may be used: Each index cell contains one page When searching we walk along the index level and then drop down to a page To allow crossing from one page to the next we keep duplicates of the edges that cross to the next page, one on each side

Page Boundaries When walking through the structure we locate a vertex at an index level and move down to a page To continue, or to find its neighbours, we may leave that page: we detect this as the other end point of the edge is on another disc page Walking to the end point on the other page (via the index level) gives us the edge connectivity The same approach may be used for parallel processing This method puts spatially adjacent points on the same disc page – a very important principle

Paged Walk

Moving Points Data structures may be maintained by dynamic point insertion and deletion, and by kinetic point movement. These operations, along with the “Walk” algorithm, may be performed on the paged structure.

The dynamic point VD and DT Point insertion using incremental algorithm Point deletion – inverse process using Devilliers algorithm

Kinetic moving-points

Applications Christaller administration optimization Image boundaries Terrain modelling and generalization Lidar data processing LOD (Level Of Detail) of terrain Paging/indexing of large triangulations

Boundary approximation

Voronoi cells of some generators

Raw Lidar data

Voronoi cell approximation

Terrain Visualization and Level of Detail (LOD) Different LOD with distance from viewpoint Different LOD with relief (roughness) Similar to standard LOD with several levels precomputed

Terrain model – level 0

Level 1 generators

Level 2 generators

Overlapping level 0 and level 1

Overlapping level 1 and level 2

Conclusions and Acknowledgements This is a general purpose hierarchy that uses the existing topology structures It provides a coherent paging scheme – nearby points are on the same page It follows the standard Voronoi proximal model, and fast indexing methods