Streaming Computation of Delaunay Triangulations - PowerPoint PPT Presentation

About This Presentation
Title:

Streaming Computation of Delaunay Triangulations

Description:

to certify triangles as final. The Finalizer. Spatial Finalization of Points. compute ... a. finalization tag. find certified. triangles. output them. to disk ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 53
Provided by: martini5
Learn more at: http://www.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: Streaming Computation of Delaunay Triangulations


1
Streaming Computation of Delaunay
Triangulations
Jonathan ShewchukUC Berkeley
Martin IsenburgUC Berkeley
Jack SnoeyinkUNC Chapel Hill
Yuanxin LiuUNC Chapel Hill
2
The 2D Delaunay Triangulation
  • important tool for interpolating points
  • graphics, GIS, finite elements,
  • a triangulation in which every triangle has an
    empty circumscribing circle

3
Billions of Points
courtesy of www.ncfloodmaps.com
4
Streaming Computation
output to disk
input from disk
small bufferin 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

5
Spatial Finalization
  • inject tags intothe point streamthat inform
    whengrid cells are freeof future points

finalized region
future pointsonly arrive inthese cells
  • use tags to certify triangles as beingpart of
    the finaltriangulation andoutput them

6
Streaming Delaunay
Spatial Finalization
Incremental Triangulation
0.5 Billion Points 11 GB
1.0 Billion Triangles 17 GB
?
on a laptop ? in 48 minutes ? using 60 10 MB
7
Immediate Processing of Output
8
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

9
Related Work
10
Streaming Geometry Processing
  • Streaming Meshes
  • topological finalization of vertices

Isenburg Lindstrom 05
Streaming Compression
Streaming Simplification
11
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

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

13
Triangulating Lots of Points
  • buy more main memory
  • need 36 GB for 0.5 billion points

14
External Memory Methods
sorted points
15
Our Streaming Approach
finalized points
output mesh
16
Streaming Delaunay Pipeline
spfinalize -i points.raw -ospb spdelaunay ispb
o tin.smb
enhances points withspatial finalization
uses spatial finalizationto certify triangles as
final
17
The Finalizer
18
Spatial Finalization of Points
? compute bounding box
19
Spatial Finalization of Points
  • ? compute bounding box
  • ? create finalization grid
  • count number of points per cell

20
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

21
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

22
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

23
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

24
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

25
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

26
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

27
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

28
Spatial Coherence
29
Spatial Coherence
30
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
31
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
32
Unfinalized Region as Quadtree
  • as tags finalize cell after cell, maintain
    remaining cells in adaptive quadtree
  • ? used for efficient overlap tests by the
    triangulator

33
The Triangulator
34
Modified Incremental Delaunay
  • insert points
  • when reading afinalization tag
  • find certified triangles
  • output them to disk or pipe
  • deallocate data structure

35
Modified Incremental Delaunay
  • insert points
  • when reading afinalization tag
  • find certified triangles
  • output them to disk or pipe
  • deallocate data structure

36
Finding Certified Triangles
  • do circumcircleslie completely infinalized
    region?

? overlap test
  • efficient testing
  • avoid tests
  • try cheaper test
  • link overlappingcircles to cells

37
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

38
Results
39
The Neuse-River Basin
6 min
10 MB60,388 triangles
8 MB512 x 512 grid
6 min
52 MB 2,249,268 points
36 min
1.0 Billion Triangles 17 GB
0.5 Billion Points 11 GB
?
on a laptop ? in 48 minutes ? using 60 10 MB
40
Scalability 3 x 3 Tiling of Neuse
9.0 Billion Triangles 151 GB
4.5 Billion Points 101 GB
?
on a laptop ? under 7 hours ? using 152 11
MB
41
Comparisons
  • to best out-of-core method
  • over 10 times faster on 0.5 billion points
  • laptop 2 disks desktop 4 disks
  • 0 scratch space 50 GB scratch space

Arge et al. 05
42
Discussion
43
Streaming Delaunay
spfinalize -i points.raw -ospb spdelaunay ispb
o tin.smb
enhances points withspatial finalization
uses spatial finalizationto certify triangles as
final
44
Geometry Processing Pipelines
  • isoline extraction
  • raster DEM generation

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

46
Streaming Delaunay in 3D
47
Streaming Delaunay in 3D
  • uniform distributed points
  • works, but bigger footprint
  • example result
  • 14 GB mesh, 240 hrs, 795 MB
  • surface scans
  • does not work
  • big circumspheres intersect many cells
  • most tetrahedra cannot be certified early

48
Acknowledgements
  • data
  • Kevin Yi, Duke
  • support
  • NSF grants 0429901 0430065
  • "Collaborative Research Fundamentalsand
    Algorithms for Streaming Meshes."
  • NGA award HM1582-05-2-0003
  • Alfred P. Sloan Research Fellowship

49
Thank You
executables, video, slides, paper, and soon also
source code http//www.cs.unc.edu/isenburg/sd/
50
Thank You
executables, video, slides, paper, and soon also
source code http//www.cs.unc.edu/isenburg/sd/
51
Future / Current Work
  • Finalize without Bounding Box
  • eliminate 1st 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,

52
Sprinkle Points
  • add global randomness to the point insertion order

without sprinkle points
with sprinkle points
Write a Comment
User Comments (0)
About PowerShow.com