I/O-Efficient Construction of Constrained Delaunay Triangulations

26
I/O-Efficient Construction of Constrained Delaunay Triangulations Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University

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 Presentation

Transcript of I/O-Efficient Construction of Constrained Delaunay Triangulations

Page 1: I/O-Efficient Construction of Constrained Delaunay Triangulations

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

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

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

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

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

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

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

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

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

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

Kernels

Kernel

Page 12: I/O-Efficient Construction of Constrained Delaunay Triangulations

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

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

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

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

Experiment: Segment Length

10 million points

10,000 segments

Varying segment length

Memory: 128M

Page 17: I/O-Efficient Construction of Constrained Delaunay Triangulations

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

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

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

Thank you!

Page 21: I/O-Efficient Construction of Constrained Delaunay Triangulations

Extending the Plane

[Seidel, 1989]

Primary sheet

Secondary sheet

Page 22: I/O-Efficient Construction of Constrained Delaunay Triangulations

Extending the Plane

[Seidel, 1989]

Primary sheet

Secondary sheets

Page 23: I/O-Efficient Construction of Constrained Delaunay Triangulations

Traveling Rule

[Seidel, 1989]

Primary sheet

Secondary sheetsx

y

z

Page 24: I/O-Efficient Construction of Constrained Delaunay Triangulations

Extended Voronoi Diagram

[Seidel, 1989]

Primary sheet

Secondary sheets

p

Page 25: I/O-Efficient Construction of Constrained Delaunay Triangulations

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

Kernels

Primary sheet

Secondary sheets