i/o-efficient construction of constrained delaunay triangulations
DESCRIPTION
I/O-Efficient Construction of Constrained Delaunay Triangulations. Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University. DT vs. Constrained DT. Delaunay Triangulation. Constrained Delaunay Triangulation As much “Delaunay” as possible while keeping the constrained edges. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/1.jpg)
I/O-Efficient Construction of Constrained Delaunay Triangulations
Pankaj K. Agarwal, Lars Arge, and Ke Yi
Duke University
![Page 2: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/2.jpg)
DT vs. Constrained DT
Delaunay Triangulation Constrained Delaunay Triangulation
As much “Delaunay” as possible while keeping the constrained edges
![Page 3: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/3.jpg)
Constrained DT: Definition
A valid edge in DT
A valid edge in CDT
A set of points: P A set of non-intersecting obstacle s
egments S with endpoints in P CDT(P,S) consists of all segments i
n S and all edges connecting pairs of points p,q of P such that(1) p and q can see each other, an
d (2) there exists a circle passing thr
ough p and q, that contains only points of P that cannot see both p and q
p q
p q
![Page 4: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/4.jpg)
Constrained DT: Definition (2)
A valid triangle in DT
A valid triangle in CDT
A set of points: P A set of non-intersecting obstacle s
egments S with endpoints in P Or equivalently, CDT(P,S) consists
of all triangles pqr such that(1) any two of p, q, and r can see e
ach other or are connected by a segment of S;
(2) their circumcircle contains only points that cannot see the interior of pqr.
p q
p q
r
r
![Page 5: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/5.jpg)
I/O Model
Main memory: M
CPU
Disk
Disk size = B
N elements
Scan: O(N/B) I/Os (linear)Sort: O(N/B logMN) I/Os
![Page 6: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/6.jpg)
Previous Results
Internal memory algorithms DT: many algorithms [Aurenhammer and Klein], pra
ctical CDT: [Chew 1987], [Wang and Schubert 1987], run
s in O(N log N) time but impractical; Use incremental construction in practice
External memory algorithms DT: [Crauser et al. 2001] runs in expected
O(N/B logMN) I/Os CDT: not known
![Page 7: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/7.jpg)
Our Results
The first external memory algorithm for building the constrained Delaunay triangulation
Runs in expected O(N/B logMN) I/Os when #segments < M
Implementation
![Page 8: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/8.jpg)
Algorithm
① Take a sample R of size M including all segment endpoints
② Build CDT(R,S)③ Construct the
conflict list of each edge of CDT(R,S)
The conflict list of an edge e consists of all points in two adjacent circumcircles and visible from e
![Page 9: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/9.jpg)
Algorithm
④ Build CDT of each conflict list (recurse if still too large to fit in memory)
⑤ Assemble results together (discussed later)
Linear I/Os (in the total size of conflict lists)if ignore recursion
![Page 10: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/10.jpg)
Analysis
Lemma: Expected size of each conflict list = O(N/M)Following Clarkson and Shor frameworkDifference: Only a constant fraction of the
samples are random
O(logMN) levels of recursion
Total: O(N/B logMN)
![Page 11: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/11.jpg)
Kernels
Kernel
![Page 12: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/12.jpg)
Assemble Results Together
Lemma 1: A triangle is a valid triangle of CDT(P,S) iff its circumcenter lies inside the kernel
Kernel
![Page 13: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/13.jpg)
Assemble Results Together
Lemma 2: The circumcenter of each triangle of CDT(P,S) lies inside exactly one kernel
Kernel
![Page 14: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/14.jpg)
Implementation & Experiments
Using TPIECompared with Shewchuk’s Triangle
program Incremental construction
Delete all edges intersected by sRetriangulate two polygons on both sides of s
Pre-sort points and segments along some space filling curve (Hilbert curve)
![Page 15: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/15.jpg)
Experiment: Uniform Data
10 million points
Varying #segments
Ave segment length = 0.003
Memory: 128M
![Page 16: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/16.jpg)
Experiment: Segment Length
10 million points
10,000 segments
Varying segment length
Memory: 128M
![Page 17: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/17.jpg)
Experiments: Real World Data
Segments: TIGER roaddata
Largest dataset: 0.5 billion points, 1 million segment (input file: 80GB)
points: LIDAR points fromthe Neuse River Basin
![Page 18: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/18.jpg)
Experiments: Real World Data
16M 28M 44M 59M 91M 116M 163M 257M 503M
Couldn’t run internalalgorithm
7.5 hours
![Page 19: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/19.jpg)
Open Questions
External memory algorithms for arbitrary #segments
Analysis of the (internal memory) randomized incremental algorithmO(n log2 n)Ω(n log n)
![Page 20: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/20.jpg)
Thank you!
![Page 21: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/21.jpg)
Extending the Plane
[Seidel, 1989]
Primary sheet
Secondary sheet
![Page 22: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/22.jpg)
Extending the Plane
[Seidel, 1989]
Primary sheet
Secondary sheets
![Page 23: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/23.jpg)
Traveling Rule
[Seidel, 1989]
Primary sheet
Secondary sheetsx
y
z
![Page 24: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/24.jpg)
Extended Voronoi Diagram
[Seidel, 1989]
Primary sheet
Secondary sheets
p
![Page 25: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/25.jpg)
Extended Voronoi Diagram
CDT(P,S) is dual to EVD(P,S) [Seidel, 1989]
Primary sheet
Secondary sheets
![Page 26: I/O-Efficient Construction of Constrained Delaunay Triangulations](https://reader035.vdocuments.us/reader035/viewer/2022062517/56813acd550346895da2ef4e/html5/thumbnails/26.jpg)
Kernels
Primary sheet
Secondary sheets