1 / 26

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. DT vs. Constrained DT. Delaunay Triangulation. Constrained Delaunay Triangulation As much “Delaunay” as possible while keeping the constrained edges.

brinly
Download Presentation

I/O-Efficient Construction of Constrained Delaunay Triangulations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. DT vs. Constrained DT Delaunay Triangulation Constrained Delaunay Triangulation As much “Delaunay” as possible while keeping the constrained edges

  3. Constrained DT: Definition • A set of points: P • A set of non-intersecting obstacle segments S with endpoints in P • CDT(P,S) consists of all segments in S and all edges connecting pairs of points p,q ofP such that (1) p and q can see each other, and (2) there exists a circle passing through p and q, that contains only points of P that cannot see both p and q p q A valid edge in DT p q A valid edge in CDT

  4. Constrained DT: Definition (2) • A set of points: P • A set of non-intersecting obstacle segments 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 each other or are connected by a segment of S; (2) their circumcircle contains only points that cannot see the interior of pqr. r p q A valid triangle in DT r p q A valid triangle in CDT

  5. I/O Model CPU N elements Scan: O(N/B) I/Os (linear) Sort: O(N/B logMN) I/Os Main memory: M Disk size = B Disk

  6. Previous Results • Internal memory algorithms • DT: many algorithms [Aurenhammer and Klein], practical • CDT: [Chew 1987], [Wang and Schubert 1987], runs 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

  7. 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

  8. Algorithm • Take asample 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

  9. 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

  10. Analysis • Lemma: Expected size of each conflict list = O(N/M) • Following Clarkson and Shor framework • Difference: Only a constant fraction of the samples are random • O(logMN) levels of recursion • Total: O(N/B logMN)

  11. Kernels Kernel

  12. Assemble Results Together • Lemma 1: A triangle is a valid triangle of CDT(P,S) iff its circumcenter lies inside the kernel Kernel

  13. Assemble Results Together • Lemma 2: The circumcenter of each triangle of CDT(P,S) lies inside exactly one kernel Kernel

  14. Implementation & Experiments • Using TPIE • Compared with Shewchuk’s Triangle program • Incremental construction • Delete all edges intersected by s • Retriangulate two polygons on both sides of s • Pre-sort points and segments along some space filling curve (Hilbert curve)

  15. Experiment: Uniform Data 10 million points Varying #segments Ave segment length = 0.003 Memory: 128M

  16. Experiment: Segment Length 10 million points 10,000 segments Varying segment length Memory: 128M

  17. Experiments: Real World Data points: LIDAR points from the Neuse River Basin Segments: TIGER roaddata Largest dataset: 0.5 billion points, 1 million segment (input file: 80GB)

  18. Experiments: Real World Data 7.5 hours Couldn’t run internalalgorithm 16M 28M 44M 59M 91M 116M 163M 257M 503M

  19. Open Questions • External memory algorithms for arbitrary #segments • Analysis of the (internal memory) randomized incremental algorithm • O(n log2 n) • Ω(n log n)

  20. Thank you!

  21. Extending the Plane Secondary sheet Primary sheet [Seidel, 1989]

  22. Extending the Plane Secondary sheets Primary sheet [Seidel, 1989]

  23. Traveling Rule x Secondary sheets z y Primary sheet [Seidel, 1989]

  24. Extended Voronoi Diagram Secondary sheets Primary sheet p [Seidel, 1989]

  25. Extended Voronoi Diagram Secondary sheets Primary sheet CDT(P,S) is dual to EVD(P,S) [Seidel, 1989]

  26. Kernels Secondary sheets Primary sheet

More Related