Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg.

Slides:



Advertisements
Similar presentations
Generating Realistic Terrains with Higher-Order Delaunay Triangulations Thierry de Kok Marc van Kreveld Maarten Löffler Center for Geometry, Imaging and.
Advertisements

LAS format and processing DTMs from tins and local binning Arrowsmith.
Spatial Information Systems (SIS) COMP Terrain modeling and geometric problems (part 2)
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates By Yihong Zhao, Prasad M. Desphande and Jeffrey F. Naughton Presented by Kia Hall.
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Chapter 6: Memory Management
Lecture 12 Reduce Miss Penalty and Hit Time
CMSC 611: Advanced Computer Architecture Cache Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from.
Multilevel Streaming for Out-of-Core Surface Reconstruction
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.
Polygon overlay in double precision arithmetic One example of why robust geometric code is hard to write Jack Snoeyink & Andrea Mantler Computer Science,
Lars Arge 1/43 Big Terrain Data Analysis Algorithms in the Field Workshop SoCG June 19, 2012 Lars Arge.
Lars Arge 1/13 Efficient Handling of Massive (Terrain) Datasets Lars Arge A A R H U S U N I V E R S I T E T Department of Computer Science.
3/5/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Delaunay Triangulations II Carola Wenk Based on: Computational.
Rapid Visualization of Large Point-Based Surfaces Tamy Boubekeur Florent Duguet Christophe Schlick Presented by Xavier Granier.
Sandeep Tata, Richard A. Hankins, and Jignesh M. Patel Presented by Niketan Pansare, Megha Kokane.
Lasse Deleuran 1/37 Homotopic Polygonal Line Simplification Lasse Deleuran PhD student.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
I/O-Algorithms Lars Arge January 31, Lars Arge I/O-algorithms 2 Random Access Machine Model Standard theoretical model of computation: –Infinite.
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, Ke Yi Duke University University of Aarhus.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
I/O-Efficient Construction of Constrained Delaunay Triangulations Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University.

Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.
I/O-Algorithms Lars Arge Spring 2009 January 27, 2009.
I/O-Algorithms Lars Arge Spring 2007 January 30, 2007.
I/O-Algorithms Lars Arge Aarhus University February 16, 2006.
I/O-Algorithms Lars Arge Spring 2006 February 2, 2006.
Lars Arge 1/14 A A R H U S U N I V E R S I T E T Department of Computer Science Efficient Handling of Massive (Terrain) Datasets Professor Lars Arge University.
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University University of Aarhus.
Generating Raster DEM from Mass Points via TIN Streaming Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Tim Thirion UNC Chapel Hill Martin.
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
From Elevation Data to Watershed Hierarchies Pankaj K. Agarwal Duke University Supported by ARO W911NF
Martin Isenburg UC Berkeley Streaming Meshes Peter Lindstrom LLNL.
I/O-Algorithms Lars Arge Spring 2008 January 31, 2008.
Dutch-Belgium DataBase Day University of Antwerp, MonetDB/x100 Peter Boncz, Marcin Zukowski, Niels Nes.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
Zoltan Szego †*, Yoshihiro Kanamori ‡, Tomoyuki Nishita † † The University of Tokyo, *Google Japan Inc., ‡ University of Tsukuba.
External Sorting Chapter 13.. Why Sort? A classic problem in computer science! Data requested in sorted order  e.g., find students in increasing gpa.
TerraStream: From Elevation Data to Watershed Hierarchies Thursday, 08 November 2007 Andrew Danner (Swarthmore), T. Moelhave (Aarhus), K. Yi (HKUST), P.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
Bin Yao Spring 2014 (Slides were made available by Feifei Li) Advanced Topics in Data Management.
On-line Space Sculpturing for 3D Shape Manipulation
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
Spatial Databases: Digital Terrain Model Spring, 2015 Ki-Joune Li.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Walking Algorithms for Point Location Roman Soukal Ivana Kolingerová.
References [1] Pankaj Agarwal, Lars Arge and Andrew Danner. From Point Cloud to Grid DEM: A Scalable Approach. In Proc. 12th Intl. Symp. on Spatial Data.
A New Voronoi-based Reconstruction Algorithm
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Compact, Fast and Robust Grids for Ray Tracing
High Resolution Surface Reconstruction from Overlapping Multiple-Views
Riccardo Fellegara University of Genova Genova, Italy
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Lecture 1: Basic Operators in Large Data CS 6931 Database Seminar.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Hierarchical Memory Systems Prof. Sin-Min Lee Department of Computer Science.
Digital Elevation Models (DEMs)Constructing Grid DEMConstructing Contour Map Constructing TIN DEM Grid DEM Quality Metric A Digital Elevation Model (DEM)
Query Processing in Databases Dr. M. Gavrilova
CSCI206 - Computer Organization & Programming
Spatial Online Sampling and Aggregation
Advanced Topics in Data Management
8/04/2009 Many thanks to David Sun for some of the included slides!
Delaunay Triangulation & Application
Boolean Operations for Free-form Models Represented in Geometry Images
Presentation transcript:

Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg UC Berkeley

The 2D Delaunay Triangulation a triangulation in which every triangle has an empty circumscribing circle important tool for interpolating points – graphics, GIS, finite elements, …

Billions of Points courtesy of billion points 11 GB Neuse-River Basin Elevation map Contour map

Streaming Computation output to diskinput from disk small buffer in main memory restrict computations to data in buffer – process data in the order it arrives – output results early and reuse the memory – do not use external memory finalization tags external memory small buffer in main memory another small buffer finalization tags

Spatial Finalization inject tags into the point stream that inform when grid cells are free of future points finalized region future points only arrive in these cells use tags to certify triangles as being part of the final triangulation and output them

Streaming Delaunay Spatial FinalizationIncremental Triangulation finalization tags 0.5 Billion Points 11 GB  1.0 Billion Triangles 17 GB on a laptop  in 48 minutes  using MB

pipe mesh only store isolines extract isolines and discard mesh Immediate Processing of Output

Features of Streaming Delaunay efficient – 10 × faster than previous method extremely scalable – billions of terrain points on a laptop streaming output – process triangulation without storing it only uniform points distributions – can tetrahedralize 3D points – but not when point are along a surface

Related Work

Streaming Geometry Processing Streaming Meshes – topological finalization of vertices [ Isenburg & Lindstrom ‘05 ] Stream-Processing Points – globally sort points along a sweep line – derive neighbors for smoothing, normals... [ Pajarola ‘05 ] Streaming Simplification Streaming Compression

Delaunay Triangulators Sweep line – pretty complex implementation – points along sweep line  global sort Divide and Conquer – fastest in practice (in main memory) – partition points recursively  global sort Incremental Point Insertion – usually fast (except for “bad” orders) – can process points in any order

locate triangle enclosing the point Incremental Point Insertion find and remove all triangles with non- empty circumcircles triangulate by connecting new point [ Lawson ’77 ] [ Bowyer ’81 ] [ Watson ’81 ]

Triangulating Lots of Points buy more main memory – need 36 GB for 0.5 billion points use less memory – compress the data structures ( ratio 1:3 ) [ Blandford et al. ‘05 ] store data to external memory – Incremental Point Insertion BRIO order, virtual memory paging of OS [ Amenta et al. ‘03 ] [ Arge et al. ‘05 ] – Divide and Conquer algorithm controls temporary storage to disk

External Memory Methods sorted points output mesh triangulation data structure in external memory

Our Streaming Approach finalized points output mesh output isolines extract

Streaming Delaunay Pipeline spfinalize -i points.raw -ospb | spdelaunay –ispb –o tin.smb enhances points with spatial finalization uses spatial finalization to certify triangles as final

The Finalizer

Spatial Finalization of Points  compute bounding box

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Coherence

Exploit the Existing Coherence raw point stream finalized point stream document with finalization tags enhance by releasing chunks of points  benefits of global sort, but cheaper

Exploit the Existing Coherence document with finalization tags enhance by releasing chunks of points  benefits of global sort, but cheaper raw point stream finalized point stream

Unfinalized Region as Quadtree as tags finalize cell after cell, maintain remaining cells in adaptive quadtree  used for efficient overlap tests by the triangulator finalization tags

The Triangulator

Modified Incremental Delaunay insert points when reading a finalization tag – find certified triangles – output them to disk or pipe – deallocate data structure

Modified Incremental Delaunay insert points when reading a finalization tag – find certified triangles – output them to disk or pipe – deallocate data structure

do circumcircles lie completely in finalized region? Finding Certified Triangles efficient testing – avoid tests – try cheaper test link overlapping circles to cells  overlap test

Modified Point Location usual strategy – walk current triangulation starting at the newest triangle if we fail – restart from a triangle linked with the cell – brute force

Results

The Neuse-River Basin 6 min 36 min 52 MB 2,249,268 points 8 MB 512 x 512 grid 10 MB 60,388 triangles 0.5 Billion Points 11 GB  1.0 Billion Triangles 17 GB on a laptop  in 48 minutes  using MB

Scalability: 3 x 3 Tiling of Neuse 4.5 Billion Points 101 GB  9.0 Billion Triangles 151 GB on a laptop  under 7 hours  using MB

Comparisons to best out-of-core method – over 10 times faster on 0.5 billion points – laptop + 2 disks desktop & 4 disks – 0 scratch space50 GB scratch space [ Arge et al. ‘05 ] [ Shewchuk ‘96 ] to best in-core method – % faster on million points – despite all our extra overlap test? why? interleaving of computations and I/O better cache use due to smaller footprint

Discussion

Streaming Delaunay spfinalize -i points.raw -ospb | spdelaunay –ispb –o tin.smb enhances points with spatial finalization uses spatial finalization to certify triangles as final

Geometry Processing Pipelines isoline extraction raster DEM generation

no temporary storage to disk – output results early & reuse memory Spatial Finalization Tags order of magnitude faster than methods that use external memory no global sort – don’t fight the data, use existing coherence interleave input & computation & output – 100% CPU usage while triangulating

Streaming Delaunay in 3D

uniform distributed points – works, but bigger footprint – example result: 14 GB mesh, 2:40 hrs, 795 MB surface scans – does not work – big circumspheres intersect many cells – most tetrahedra cannot be certified early

Acknowledgements data – Kevin Yi, Duke support – NSF grants "Collaborative Research: Fundamentals and Algorithms for Streaming Meshes." – NGA award HM – Alfred P. Sloan Research Fellowship

Thank You executables, video, slides, paper, and soon also source code:

Thank You executables, video, slides, paper, and soon also source code:

Future / Current Work Finalize without Bounding Box – eliminate 1 st pass of finalizer Streaming Constrained Delaunay – crucial in GIS applications Triangulate 3D surface points – data-dependent spatial finalization Spatial Finalization for other algorithm – surface reconstruction, …

Sprinkle Points without sprinkle points with sprinkle points add global randomness to the point insertion order