Key words. Graphics processing unit, GPU, digital geometry, computational geometry, parallel computation, CUDA, OpenCL

Similar documents
R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

UNIT 2 : INEQUALITIES AND CONVEX SETS

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Parallelism for Nested Loops with Non-uniform and Flow Dependences

An Approach in Coloring Semi-Regular Tilings on the Hyperbolic Plane

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique


TN348: Openlab Module - Colocalization

A Binarization Algorithm specialized on Document Images and Photos

Problem Set 3 Solutions

CMPS 10 Introduction to Computer Science Lecture Notes

CHAPTER 2 DECOMPOSITION OF GRAPHS

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

On Some Entertaining Applications of the Concept of Set in Computer Science Course

Mathematics 256 a course in differential equations for engineering students

Hermite Splines in Lie Groups as Products of Geodesics

Brave New World Pseudocode Reference

Load Balancing for Hex-Cell Interconnection Network

AP PHYSICS B 2008 SCORING GUIDELINES

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Ramsey numbers of cubes versus cliques

ON SOME ENTERTAINING APPLICATIONS OF THE CONCEPT OF SET IN COMPUTER SCIENCE COURSE

The Erdős Pósa property for vertex- and edge-disjoint odd cycles in graphs on orientable surfaces

GSLM Operations Research II Fall 13/14

An Optimal Algorithm for Prufer Codes *

the nber of vertces n the graph. spannng tree T beng part of a par of maxmally dstant trees s called extremal. Extremal trees are useful n the mxed an

The Codesign Challenge

Array transposition in CUDA shared memory

Non-Split Restrained Dominating Set of an Interval Graph Using an Algorithm

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

Programming in Fortran 90 : 2017/2018

3D vector computer graphics

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

REFRACTION. a. To study the refraction of light from plane surfaces. b. To determine the index of refraction for Acrylic and Water.

Constructing Minimum Connected Dominating Set: Algorithmic approach

Math Homotopy Theory Additional notes

Analysis of Continuous Beams in General

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Scan Conversion & Shading

More on the Linear k-arboricity of Regular Graphs R. E. L. Aldred Department of Mathematics and Statistics University of Otago P.O. Box 56, Dunedin Ne

Parallel matrix-vector multiplication

Cell Count Method on a Network with SANET

Scan Conversion & Shading

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

Sum of Linear and Fractional Multiobjective Programming Problem under Fuzzy Rules Constraints

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

Fast Computation of Shortest Path for Visiting Segments in the Plane

CSE 326: Data Structures Quicksort Comparison Sorting Bound

Intro. Iterators. 1. Access

Support Vector Machines

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

High-Boost Mesh Filtering for 3-D Shape Enhancement

Report on On-line Graph Coloring

Lecture Note 08 EECS 4101/5101 Instructor: Andy Mirzaian. All Nearest Neighbors: The Lifting Method

Harvard University CS 101 Fall 2005, Shimon Schocken. Assembler. Elements of Computing Systems 1 Assembler (Ch. 6)

CSE 326: Data Structures Quicksort Comparison Sorting Bound

Module Management Tool in Software Development Organizations

CS 534: Computer Vision Model Fitting

5 The Primal-Dual Method

USING GRAPHING SKILLS

Computation of a Minimum Average Distance Tree on Permutation Graphs*

CE 221 Data Structures and Algorithms

LOOP ANALYSIS. The second systematic technique to determine all currents and voltages in a circuit

All-Pairs Shortest Paths. Approximate All-Pairs shortest paths Approximate distance oracles Spanners and Emulators. Uri Zwick Tel Aviv University

CS1100 Introduction to Programming

Multiblock method for database generation in finite element programs

Introduction to Geometrical Optics - a 2D ray tracing Excel model for spherical mirrors - Part 2

Cluster Analysis of Electrical Behavior

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

Solving two-person zero-sum game by Matlab

Approximations for Steiner Trees with Minimum Number of Steiner Points

Lecture 5: Multilayer Perceptrons

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

The Shortest Path of Touring Lines given in the Plane

Tree Spanners for Bipartite Graphs and Probe Interval Graphs 1

Shape Representation Robust to the Sketching Order Using Distance Map and Direction Histogram

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Any Pair of 2D Curves Is Consistent with a 3D Symmetric Interpretation

Related-Mode Attacks on CTR Encryption Mode

F Geometric Mean Graphs

Greedy Technique - Definition

CSCI 104 Sorting Algorithms. Mark Redekopp David Kempe

Bridges and cut-vertices of Intuitionistic Fuzzy Graph Structure

Reading. 14. Subdivision curves. Recommended:

2D Raster Graphics. Integer grid Sequential (left-right, top-down) scan. Computer Graphics

S1 Note. Basis functions.

A PATTERN RECOGNITION APPROACH TO IMAGE SEGMENTATION

Outline. Self-Organizing Maps (SOM) US Hebbian Learning, Cntd. The learning rule is Hebbian like:

Transaction-Consistent Global Checkpoints in a Distributed Database System

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Cordial and 3-Equitable Labeling for Some Star Related Graphs

On the Perspectives Opened by Right Angle Crossing Drawings

Transcription:

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM THANH-TUNG CAO, HERBERT EDELSBRUNNER, AND TIOW-SENG TAN Abstract. We prove that the dual of the dgtal Vorono dagram constructed by floodng the plane from the data ponts gves a geometrcally and topologcally correct dual trangulaton. Ths provdes the proof of correctness for recently developed GPU algorthms that outperform tradtonal CPU algorthms for constructng two-dmensonal Delaunay trangulatons. Key words. Graphcs processng unt, GPU, dgtal geometry, computatonal geometry, parallel computaton, CUDA, OpenCL AMS subject classfcatons. 68Q25, 68U05, 68W10, 68W40 1. Introducton. In recent years, the computatonal power of graphcs processng unts (GPUs) has surpassed that of central processng unts (CPUs). Contnung the trend, the gap between the two s expected to wden n the foreseeable future. Wth the ntroducton of programmng models, such as CUDA [9] and OpenCL [8], there are now more applcaton areas that beneft from the computatonal power of GPUs. These areas nclude scentfc computng, games, data mnng, and computatonal fnance [10]. In computatonal geometry, GPUs have been used to solve problems n dscrete as well as n contnuous space. An example s the dgtal Vorono dagram approxmatng the correspondng Eucldean structure, whch has a wde range of applcatons n mage processng, computer vson, and graphcs [3]. Another s the dgtal Delaunay trangulaton, whch has applcatons n mesh generaton and scentfc computng [6]. In Eucldean space, the Vorono dagram and the Delaunay trangulaton are but dfferent geometrc expressons of the same combnatoral structure. In dgtal geometry, the translaton from one to the other s made dffcult by the need to approxmate. Indeed, t s easy to construct a dgtal Vorono dagram, just by colorng the pxels or ther hgher-dmensonal analogues. Early work n ths drecton uses graphcs hardware [7] and the texture unt of the GPU [15]. More recent work takes the vector propagaton approach [4], whch leads to algorthms whose runnng tme depends solely on the mage resoluton and not on the number of data ponts [2, 11, 13]. In contrast, computng the Delaunay trangulaton wth GPUs has been more challengng. Whle Hoff et al. [7] menton the possblty to dualze the dgtal Vorono dagram, t was not untl recently that a complete GPU algorthm for the Delaunay trangulaton has been descrbed [12]. Wth the tremendous power of GPUs, ths algorthm outperforms all tradtonal CPU algorthms, ncludng the optmzed Trangle software of Shewchuk [14]. The reason for the dffculty s the approxmate character of dgtal Vorono dagrams, whch may lead to unwanted artfacts when dualzed, such as crossng edges and mssng trangles. However, there s expermental evdence suggestng that a careful mplementaton can avod such artfacts. In ths paper, we present a detaled proof that dualzng the dgtal Vorono dagram gves Research of the second author s partally supported by NSF under grant DBI-0820624 and by DARPA under grants HR011-05-1-0057 and HR0011-09-0065. Research of the thrd author s partally supported by NUS under grant R-252-000-337-112. School of Computng, Natonal Unversty of Sngapore, Sngapore. (caothanh@comp.nus.edu.sg). IST Austra (Insttute of Scence and Technology Austra), Klosterneuburg, Austra, Departments of Computer Scence and of Mathematcs, Duke Unversty, Durham, North Carolna, and Geomagc, Research Trangle Park, North Carolna. (edels@cs.duke.edu). School of Computng, Natonal Unversty of Sngapore, Sngapore. (tants@comp.nus.edu.sg). 1

2 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN a topologcally and geometrcally correct trangulaton. Leavng the correcton of unstable dagonals to a postprocessng step, we call the result of the dualzaton the dgtal Delaunay trangulaton. We base our proof on the recent mprovement of the GPU Delaunay trangulaton algorthm descrbed n [1]. Presentng a conceptual verson of ths algorthm n Secton 2, we prove ts correctness n Secton 3. Specfcally, we show that the dgtal Vorono dagram obtaned by floodng the pxel array can be dualzed to gve a topologcally as well as geometrcally vald trangulaton n the plane. Our proof takes three steps to establsh the valdty of the dgtal Delaunay trangulaton. The frst step ratonalzes the floodng algorthm by provng that the pxels are colored n the order of dstance from the data ponts. The second step explots ths orderng to prove a techncal topologcal result about loops. The thrd step uses ths result to establsh the desred propertes of the dgtal Delaunay trangulaton. We beleve that our approach to provng the correctness of dgtal geometry algorthms by progressve abstracton s of ndependent nterest. 2. The Algorthm. In ths secton, we formally state the problem and gve a conceptual but precse descrpton of the algorthmc soluton frst presented n [1]. Problem specfcaton. The settng s a rectangular array of pxels. To talk about t, we defne a pxel as the closed unt square centered at an nteger pont n the plane: A+[ 1 2, 1 2 ]2, wth A Z 2. It has four sdes: east, north, west, south, and four corners: north-east, north-west, south-east, south-west. The decomposton of the plane nto pxels s denoted by Z 2 + [ 1 2, 1 2 ]2. Snce computers are fnte, we consder only a fnte rectangular pece of the thus decomposed plane and call ths pece the texture wthn whch all computatons are performed. Now suppose we are gven a subset of the pxels n the texture. We call the center of each such pxel a seed pont and wrte S = {x 1, x 2,..., x n } for the set of seed ponts. We assume that the ponts do not all le on a sngle straght lne. Equvalently, at least three of the seed ponts span a proper trangle. The goal s to connect the seed ponts n S wth edges and trangles to form a smplcal complex. It wll be convenent to add a dummy seed pont, x 0, whch we magne at nfnty and use as an addtonal vertex when we form the smplcal complex. Wth ths modfcaton, we consder a smplcal complex a vald soluton to our problem f t satsfes the followng three condtons: I. The set of vertces s S {x 0 }. II. The smplcal complex trangulates the sphere. III. Removng x 0 gves a geometrc realzaton n the plane. Condton I prescrbes the relatonshp between nput and output. Condton II summarzes the requred topologcal propertes. It ncludes the local requrements of a 2-manfold, that every edge belongs to two trangles and every vertex belongs to a rng of trangles. It also prescrbes the global topology of the smplcal complex to that of the 2-dmensonal sphere. Condton III summarzes the requred geometrc propertes, namely that the edges do not ntersect other than at shared vertces, and the trangles do not ntersect other than along shared edges. Note that Condton III apples only to the fnte porton of the smplcal complex, obtaned by removng the star of x 0, that s, x 0 together wth all edges and trangles that connect to x 0. Snce removng a sngle vertex star from a trangulated sphere keeps the rest connected, the fnte porton of the smplcal complex s thus requred to be connected. Dgtal Vorono dagrams. Our approach to solvng the problem mmcs the computaton of the Eucldean case. Recall that the (Eucldean) Vorono regon of a pont x s the set of ponts for whch x s the closest seed ponts, that s, V = {x R 2 x x x x j, j}. It s easy to see that V s convex. The collecton of V s the (Eucldean) Vorono dagram of S. Fnally, the (Eucldean) Delaunay trangulaton s the dual of ths dagram. Workng wth

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 3 nteger nstead of real coordnates, we can only approxmate ths Eucldean constructon. We do ths wth two types of dgtal Vorono dagrams. To construct the frst, we color each pxel wth the ndex of the closest seed pont: E = {A Z 2 A x A x j, j}. We assume a fxed te-breakng rule so that each pxel receves only one color. The bulk of E s the component B that contans the seed pont, x. All the other pxels of E are debrs. whch exsts only nsde a sharp corner of the Eucldean Vorono regon; see Fgure 2.1. The Fg. 2.1: A regon wth a sharp corner. Its correspondng dgtal regon consst of the bulk and one debrs pxel. debrs s a serous drawback as t makes t dffcult to turn the decomposton nto a vald soluton to our trangulaton problem. Ths dffculty s allevated by ntroducng a second knd of dgtal Vorono dagram. It s obtaned by growng the regons smultaneously untl they run nto each other. In other words, we run n versons of breadth-frst search n parallel, makng sure they do not nvade each other s terrtory. To make ths process precse, we say a pxel A s elgble to be colored f A = x or A has a neghborng pxel of color. Here and throughout the paper, we say two pxels are neghbors f they share a sde or a corner, wrtng N(A) for the set of pxels neghborng A. Intally, after s = 0 steps, all pxels are uncolored. Wrte F,s for the set of pxels colored after s steps, and Q s for the set of elgble pxel-color pars. We mplement Q s as a prorty queue and allow t to contan addtonal pars whose pxels are already colored. These pars do not nterfere wth the proper executon of the algorthm. Let mn(q s ) be the operaton that removes and returns the par wth mnmum dstance between the pxel center and the seed pont of the color. We now state the algorthm more formally, suppressng the counter for the number of steps, whch s mplct. We ntalze the regons to F = and the queue to the set of pars (x, ), for all. repeat (A, ) = mn(q); f A s not colored then F = F {A}; Q = Q {(B, ) B N(A)}; end f untl Q =. It s easy to see that ths algorthm succeeds n colorng all pxels. Wrtng F for the set of pxels colored after the last step of the algorthm, ths s equvalent to sayng that the unon of the F covers the entre texture. Indeed, n any other case there would be an uncolored pxel neghborng a colored pxel and the algorthm could contnue colorng. An mportant aspect of the algorthm s ts te-breakng mechansm. Any total order of the pxel pars consstent wth the Eucldean dstance between pxel centers wll do. For example,

4 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN we may explot the total order of the ntegers as follows. A par of pxels s specfed by four coordnates, whch we sort nto a vector of length four and wrte (A, B) < lex (C, D) f the vector obtaned from A, B Z 2 s lexcographcally smaller than the vector obtaned from C, D Z 2. We say (A, B) has hgher prorty than (C, D), denoted as A B C D, f A B < C D or A B = C D and (A, B) < lex (C, D). Note that A B C D mples A B C D but not always A B < C D. Ths wll be mportant n our analyss of the algorthm. Dgtal Delaunay trangulaton. Smlar to the Eucldean case, we dualze the dgtal Vorono dagram, and n partcular the regons F. The key concept s that of a dgtal Vorono vertex. Ths s a corner shared by four pxels that have ether four dfferent colors or three dfferent colors n whch the two pxels sharng the color also share a sde. Equvalently, a dgtal Vorono vertex s a 2-by-2 array of the type whch s shaded n Fgure 2.2. We note j l k k l k l k k k k k Fg. 2.2: The seven types of colorngs of a 2-by-2 array of pxels. The frst two are dgtal Vorono vertces. that the thrd type of array, whch s not a dgtal Vorono vertex, s called a neck of the regon whose color s repeated. We wll see n Secton 3 that the fourth type, wth two crossng necks, does not arse. Ths s mportant when we dualze the colored regons as follows: For each dgtal Vorono vertex wth three dfferent colors,, j, k, we add the edges x x j, x j x k, x k x to E and the trangle x x j x k to T. For each dgtal Vorono vertex wth four dfferent colors,, j, k, l ordered ths way around the square, we add the edges x x j, x j x k, x k x and x x k, x k x l, x l x to E and the trangles x x j x k, x x k x l to T. Note that n the second case, we have a choce between the two dagonals, whch we make arbtrarly. Here, E and T are multsets. We wll prove that T s n fact a set and E contans each edge exactly twce. Identfyng the edges n pars thus gves a smplcal complex; see Fgure 2.3 for an example. We call ths the dgtal Delaunay trangulaton of S. Its fnte porton s obtaned by removng x 0 together wth all edges and trangles that share x 0. Fg. 2.3: The dgtal Delaunay trangulaton supermposed on the dgtal Vorono dagram obtaned by floodng.

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 5 3. The Proof. In ths secton, we present the proof that the dgtal Delaunay trangulaton s a vald soluton to our trangulaton problem. It conssts of three consecutve steps, explaned n the followng three subsectons. 3.1. Floodng Sorts. In ths subsecton, we ratonalze floodng by provng some basc propertes. Recall our te-breakng mechansm and that A B C D mples A B C D. Order by dstance. The man techncal result n ths secton s a proof that floodng colors the pxels n the order of ther dstance from the seed ponts. Ths s plausble but dffcult to establsh. We consder two versons of ths clam, a weak verson that clams the orderng separately wthn each color, and a strong verson that clams one order for the entre collecton of pxels. The proof s nductve, movng from the weak verson after s steps to the strong verson after s steps to the weak verson after s + 1 steps. ORDERED COLORING LEMMA. For every s 0 and every two colors and j, we have A x Y x j for all A F,s and all uncolored pxels Y that are elgble to be colored j after s steps. Proof. Ths s the strong verson of the clam and we get the weak verson as a specal case, when = j. We begn by provng that the weak verson mples the strong verson. The only reason the latter s not trval s that an uncolored pxel can acqure new colored neghbors and thus mprove ts prorty n the queue. However, by the weak verson after s steps, Y cannot mprove ts prorty beyond the prorty of the newly acqured colored neghbor A. By the strong verson after s 1 steps, the prorty of A s the lowest we have seen so far for a colored pxel. Ths mples that even after the mprovement, the prorty of Y s stll lower than that of all colored pxels. Snce we use a prorty queue to select A, all other uncolored pxels have prortes lower than the prorty of A and therefore of all colored pxels. Ths mples the strong verson after s steps. We now prove that the strong verson after s steps mples the weak verson after s + 1 steps. To get a contradcton, we let Y 0 be the frst uncolored pxel that volates the clamed nequalty for the weak verson and we let s 0 be the number of steps after whch ths volaton arses. We defne a predecessor of a colored pxel as a neghborng pxel that receved the same color earler. By assumpton, after s < s 0 steps, all predecessors of a pxel colored are at least as close to x as ths pxel. After s 0 steps, Y 0 has a neghbor A wth color that satsfes Y 0 x A x. Note that A s the only neghbor wth color, else Y 0 would have contradcted the nequalty before the s 0 steps or t would have been colored before A. There are two cases to consder: when A and Y 0 share a sde and when they share only a corner. Both cases are further decomposed nto subcases, and for each subcase, we ether derve a contradcton drectly, or we reduce t to another subcase workng our way up a path of predecessors one pxel closer to x. Snce ths path s fnte, we get a contradcton eventually. To dscuss the two cases, we assume the postons of A and Y 0 are as depcted n Fgure 3.1. CASE 1. A s the neghbor to the west of Y 0. Wthout loss of generalty, assume that x les n the lower rght quadrant of Y 0. A has a predecessor at least as close to x but not neghborng Y 0. The only possblty s the south-west neghbor B. Ths further constrans the locaton of x to wthn a 45 wedge. The neghbor U to the south of A must have been colored before B, but wth a dfferent color k, else t would have volated the clamed nequalty before Y 0 dd. By nductve assumpton, U x k B x B x k. Smlarly, U x k A x A x k. We now have two constrants that express that A and B le on the same sde of the

6 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN perpendcular bsector of x and x k, namely A x A x k, B x B x k. Snce U les nsde the trangle x AB but not on the edge AB, the two nequaltes mply U x < U x k and therefore U x U x k. But ths s only possble f U has no neghbor of color at the tme t s colored. We consder three subcases: CASE 1.1. The south-east neghbor W of B s a predecessor of B. Therefore, U must have been colored before W. By nductve assumpton, we have U x U x k W x. But ths contradcts the nequalty W x U x, whch we get from the restrcton of x to the 45 wedge. CASE 1.2. The neghbor V to the south of B s a predecessor of B, and W s not. Therefore, we get U x U x k V x as U must have been colored before V. Ths mples U x V x, whch further lmts x to wthn a narrow dagonal strp, as ndcated n Fgure 3.1 on the left. Let the color of W be l, and observe that W must have been colored before V, else t would have volated the clamed nequalty before Y 0 dd. Therefore, W x l V x V x l, and smlarly, W x l B x B x l, whch mples B x B x l, V x V x l. Recallng that x les nsde the dagonal strp, we observe that W les nsde the trangle x BV but not on the edge BV. Hence, the two nequaltes mply W x W x l. We now repeat the analyss of Case 1, substtutng V, W for B, U. CASE 1.3. The south-west neghbor C of B s a predecessor of B, and V and W are not. The neghbor V to the south of B must have been colored before C, else t would have contradcted the clamed nequalty before Y 0 dd. We repeat the analyss of Case 1, substtutng C, V, B for B, U, A. We wll shortly relax the condton on x by addng the column of pxels below A to the quadrant that contans x. Indeed, the only reason for not dong so rght from the start s the condton Y 0 x A x, whch s volated for pxels n that column. B C V A U W Y 0 B A T V U Y 0 Fg. 3.1: Illustraton of Case 1 on the left and Case 2 on the rght. In both cases, the shaded rght-angled wedge represents the possble locatons of x.

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 7 CASE 2. A s the north-west neghbor of Y 0. Wthout loss of generalty assume that x les n the lower quadrant of Y 0 ; see Fgure 3.1 on the rght. Recall that A s the only neghbor of Y 0 colored. The neghbor U to the south of A must therefore have been colored before A, wth a color k dfferent from, else t would have volated the clamed nequalty before Y 0 dd. Usng the nductve assumpton, we therefore get U x k A x A x k. There are only two possble predecessors of A. CASE 2.1. The south-west neghbor V of A s a predecessor of A. We consder two subcases: CASE 2.1.1. U x V x. Here, U must have been colored before V, else t would have volated the clamed nequalty before Y 0 dd. We therefore get U x k V x V x k. Snce x les n the lower rght quadrant of A, we can now apply the analyss of Case 1, substtutng V, U, A here for B, U, A there. Indeed, all steps of the analyss n Case 1 are vald for x n that quadrant, except for Y 0 x A x, whch now holds because Y 0 s the south-east rather than the east neghbor of A, as t was n the orgnal descrpton of Case 1. CASE 2.1.2. V x U x. Notce A x Y 0 x k, else Y 0 would have been colored before A. Together wth Y 0 x A x and A x A x k, we have Y 0 x Y 0 x k, A x A x k. Snce U les nsde the trangle x AY 0 but not on the edge AY 0, the two nequaltes mply U x U x k. Hence, U must have been colored before V, else color would have taken precedence over color k. But ths mples U x k V x and therefore U x V x, a contradcton to the assumpton. CASE 2.2. The west neghbor B of A s a predecessor of A, and V s not. Ths constrans x to le wthn the same 45 wedge consdered n Case 2.1.2; see Fgure 3.1 on the rght. Here, U must have been colored before B, else t would have volated the clamed nequalty before Y 0 dd. We can now repeat the analyss of Case 2, substtutng B, V for A, U. An amendment to Case 2.1 s n order. The reason s that we may encounter Case 2.2 frst, one or more tmes, and then reach Case 2.1. If we do, Y 0 s no longer neghbor of the new A, whch s equal to the orgnal B or one of ts predecessors. The analyss n Case 2.1.1 s unaffected by ths dfference, regardless of the actual poston of Y 0, as Case 2.1.1 can reduce to Case 1 as long as x les n the lower rght quadrant of A. However, n Case 2.1.2, we need to fnd a new argument for U x U x k. To ths end, let T be the neghbor to the east of the new A. Notng that T les on a path of predecessors from the orgnal pxel A back to x, we get T x T x k, else color k would have taken precedence over color. Together wth A x A x k, ths gves T x T x k, A x A x k. Snce U les n the trangle x AT but not on AT, the above two nequaltes mply U x U x k, as desred.

8 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN Let us reflect on the recursve structure of the nductve argument. Cases 1.2 and 1.3 reduce to Case 1, but one pxel closer to the end along the path back to x. Smlarly, Case 2.2 reduces to Case 2, also one pxel closer to x. In contrast, Case 2.1 reduces to Case 1, wthout gettng closer to x. But ths reducton can happen only once throughout the recursve argument. We thus see that there s no cycle and each sequence of recursve arguments must end wth a contradcton. Ths completes the case analyss and shows that the uncolored pxels have lower prorty than the colored pxels throughout the algorthm. The clam follows. Recall the weak verson of the clam, namely that floodng colors the pxels n a regon F n the order of ther dstance from x. Ths mples that we can fnd a monotonc path from x to each pxel n F. We requre that all pxels have color and that the dstance to x does not decrease along the path. We get such a path to A by tracng backward, from A to a predecessor to a predecessor of the predecessor and so on. We summarze: MONOTONIC PATH LEMMA. For each A F, there s a monotonc path from x to A wthn the regon F. Necks. A neck s a par of dagonally adjacent pxels of the same color whose two common neghbors both have colors that are dfferent from that of the par. We clam that the colors of the two common neghbors are also dfferent from each other. In other words, a square of four pxels cannot have two necks. Ths property s useful because t mples that curves drawn wthn dfferent color regons do not cross. Contradctng two necks s easy for Eucldean colorng snce the bsector of the two seed ponts cannot separate the four pxel centers accordng to ther color. For floodng, we need a proof, whch we now present. ONE NECK LEMMA. Floodng produces a colorng n whch every square of four pxels has at most one neck. Proof. Label the four pxels A, B, U, and V. Assumng two necks, we have the algorthm color the dagonally adjacent pxels A and B wth and the other two dagonally adjacent pxels U and V wth k. Wthout loss of generalty, we may assume that A gets colored frst and that U gets colored before V. Usng the Ordered Colorng Lemma, the frst assumpton mples U x k U x and V x k V x, else U and V would be colored. Together wth A x U x k and A x V x k, ths constrans x to le wthn the rght-angled wedge defned by the bsectors of A and U and of A and V that contans A. Furthermore, we have A x B x and, by the second assumpton U x k V x k. The assumptons leave three possble sequences, whch we dscuss n two cases. CASE 1. U has receved ts color before B dd. Therefore, B x B x k, else B would be colored k. It follows that the perpendcular bsector of x and x k separates B from U and V. Specfcally, x and B le on one sde of the bsector and x k, U, A, V le on the other sde. But ths contradcts that x les nsde the rght-angled wedge descrbed above. CASE 2. B receved ts color before U dd. By the Ordered Colorng Lemma, we have B x U x k V x k. Together wth U x k U x and smlarly for V, ths mples that x les wthn the rght-angled wedge defned by the bsectors of B and U and of B and V that contans B. The ntersecton of ths wedge wth the earler defned wedge for A contans no nteger pont, a contradcton to the exstence of x. Ths excludes the fourth type of colorng of a 2-by-2 array n Fgure 2.2 as a result of floodng. In other words, there s at most one neck n any 2-by-2 array. Bulk. When we remove a pont from S, the Eucldean Vorono regon of a remanng pont ether stays the same or t grows. The same s true for the regons E obtaned by Eucldean colorng. Smlarly, t s true for the bulk of E. However, t s not necessarly true

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 9 for the regons obtaned by floodng. We prove a weaker statement for them, namely that they contan the bulks of Eucldean colorng. It follows that the deleton of a seed pont can shrnk a regon only by debrs pxels, of whch there are generally few. BULK LEMMA. Each regon F constructed by floodng contans the bulk of E. Proof. We prove that the prefxes of the bulk of E obtaned by addng the pxels n order from x are connected. It follows that the pxels of the bulk are colored n ths same order and wth the same color. Let B,s contan the s pxels of the bulk of E closest to the seed pont. Thus {x } = B,1 B,2... B,m = B. Suppose not all of the prefxes are connected and let B,s = B,s 1 {A} be the frst that s not connected. Draw the lne that passes through A and x, as n Fgure 3.2. There are A x Fg. 3.2: The bulk of E after colorng the frst s pxels by floodng. neghbors of A on both sdes of the lne whose dstance from x s less than A x. On the other hand, A belongs to the bulk of E, whch s connected, so we can fnd a path wthn the bulk that connects A wth x. Drawng t from pxel center to pxel center wth straght edges n between, the path belongs to the Eucldean Vorono regon, V, by convexty. Hence, the regon bordered by the path and the straght segment from A to x belongs to V. Ths regon ncludes at least one neghbor B of A wth B x A x. Ths neghbor precedes A n the orderng of the pxels n the bulk of E and thus belongs to B,s, a contradcton to A beng separated from B,s 1. 3.2. Lassos Go Empty. In ths subsecton, we prove two techncal result about monotonc paths whch are nstrumental n provng the lemmas needed for the valdty of the dgtal Delaunay trangulaton. Lassos. We begn by constructng a dgtal analog of a straght lne. Gven an orented lne, a pxels belongs to the correspondng starcase f ts nteror ntersects the lne or ts boundary ntersects the lne and ts center les to the rght of the lne. Note that the orentaton of the lne nduces an orderng of the pxels along the lne. Gven a seed pont x and a pxel A colored, a lasso conssts of a monotonc path from x to A and the starcase from A back to x. We call x and A the base ponts and the lne orented from A to x the base lne of the lasso. The sze of the lasso s the dstance between the two base ponts. When we compare the szes of two lassos, we use the same te-breakng mechansm as for the pars of pxels.

10 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN The lasso decomposes the plane nto two components, an nsde and an outsde. The nsde ncludes all pxels of the lasso. Whle the pxels n the monotonc path all have color, by defnton, the pxels n the starcase are not necessarly all of the same color. LASSO LEMMA. There s no seed pont nsde a lasso. Proof. To get a contradcton, assume the opposte. Let L be the smallest lasso that encloses one or more seed ponts, and let x and A be ts base ponts. Let x j be the enclosed seed pont that s furthest from the base lne; see Fgure 3.3. Consder the starcase defned by B L x l x k x j U V A x L k L l Fg. 3.3: The frst lasso conssts of a monotonc path from x to A and the starcase back to x. Insde the frst lasso, we see another seed pont, x j. The second lasso defned by x k and B encloses A. The thrd lasso defned by x l and U also encloses A. the lne that passes through x j and s orthogonal to the base lne of L. Traversng t from x j and movng away from the base lne, we let B be the frst pxel not colored j. Because of the choce of B on the starcase orthogonal to the base lne of L, we have B x j B x. It follows that B does not have color ether. Let k {, j} be the color of B. By the Monotonc Path Lemma, there s a monotonc path from x k to B. We do a case analyss n whch every possblty leads to a contradcton. It wll follow that x j cannot exst. CASE 1. x k and B le on opposte sdes of the lne parallel to the base lne of L that passes through x j. Then we get B x j B x k, contradctng that B has color k. CASE 2. x k and B le on the same sde of that lne, as n Fgure 3.3. By extremalty of the choce of x j, the seed pont x k cannot le nsde the lasso L. Let L k be the lasso consstng of a monotonc path from x k to B and the starcase from B back to x k. By the One Neck Lemma, the monotonc path cannot cross the path from x to A and therefore must cross the base lne of L. Hence L k encloses ether x or A. But we have B x k B x j B x, and by drawng a lne from x through B, we get a pxel on the path from x to A that s even further from x than B. It follows that B x A x. Hence, the sze of L k s less than the sze of L, and by extremalty of the choce of L, L k cannot enclose x. The only remanng possblty s that L k encloses A, as n Fgure 3.3. The fnal contradcton wll rest on the propertes of two partcular pxels whch we now descrbe. Traverse the starcase of L from A to x and let U be the frst pxel whose color s not. Let V be the predecessor of U n the starcase. Such pxels U and V exst because the starcase crosses the monotonc path from x k to B, where t has pxels colored k. However, we may reach U before crossng the path. Let l be the color of U. We have U colored before V ; otherwse, the colorng of V would result n puttng (U, ) nto the prorty queue, a contradcton

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 11 to the Ordered Colorng Lemma. So we have U x l V x. Ths mples U x l A x. Let L l be a lasso wth base ponts x l and U. Because of the extremal choce of the frst lasso, L l cannot enclose any seed ponts. There are three cases to consder. CASE 2.1. l = k. Then L l encloses V. We also have U x k V x k, else V would have been colored k. But then we can draw a half-lne from x k through V and get a pxel on the path from x k to U whose dstance from x k exceeds U x k. Ths contradcts the monotoncty of the path. CASE 2.2. l k and x l and B are on opposte sdes of the lne parallel to the base lne of L that passes through x j. The lasso L l thus ether encloses x k or B. If t encloses B, t also encloses x j because the two pxels are connected by a pece of a starcase of color j l. As mentoned earler, L l cannot enclose a seed pont so we have a contradcton n ether case. CASE 2.3. l k and x l and B are on the same sde of the lne passng through x j. Avodng to enclose x, the only possblty for the monotonc path from x l to U s as shown n Fgure 3.3. Here we use U x l V x V x l. But V s enclosed by L l, so we can draw a drected lne from x l through V, as n Case 2.1. Ths gves a pxel on the path from x l to U whose dstance from x l exceeds U x l, agan a contradcton. Ths mples that x j does not exst, whch proves the clam. Splced lassos. We extend the lasso to a slghtly more elaborate constructon. Let x and x l be two dfferent seed ponts and A F, D F l two pxels. For the constructon, we requre that A and D are neghbors sharng a common sde or at least a common corner, but n the latter case the remanng two pxels sharng the same corner must have colors that are dfferent from each other. Drawng a monotonc path of color from x to A, another monotonc path of color l from x l to D, and the starcase between A and D, we get what we call a splced lasso. We refer to x and x l as ts base ponts and the connectng lne as ts base lne. Smlar to the lasso, a splced lasso decomposes the plane nto an nsde and an outsde. Another monotonc path cannot cross the splced paths. Indeed, the only weak pont s the corner at whch the two paths are splced, but because the adjacent pxels have dfferent colors, we cannot cross there ether. The only possblty to go from outsde to nsde the splced lasso s therefore to cross the base lne. SPLICED LASSO LEMMA. There s no seed pont nsde a splced lasso. Proof. Assume to the contrary that we have a splced lasso wth base ponts x and x l that encloses other seed ponts. Let x j be the seed pont that maxmzes the dstance from the base lne. Startng at x j, construct a pece of a starcase orthogonal to and movng away from the base lne. Let B be the frst pxel not colored j. As before, we argue that the color of B s k {, j, l} and we construct a lasso L k connectng x k to B and back. If x k and B le on opposte sdes of the lne passng through x j and parallel to the base lne of the splced lasso, then we get B x j B x k, contradctng the Ordered Colorng Lemma. On the other hand, f x k and B le on the same sde of the lne then the extremal choce of x j prohbts that x k be nsde the splced lasso. Hence L k encloses ether x or x l, contradctng the Lasso Lemma. 3.3. The Trangulaton s Vald. In ths subsecton, we use the two lasso lemmas to show that the dgtal Delaunay trangulaton s a vald soluton to our trangulaton problem. No crossng edges. Recall that E s the multset of edges dentfed when we dualze the dgtal Vorono dagram obtaned by floodng. We say two edges cross each other f the endponts of each le on opposte sdes of the lne spanned by the other. Here we requre mplctly that no three of the four endponts le on a common lne. In partcular, two copes

12 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN of the same edge are not consdered to cross each other. NO CROSSING LEMMA. No two edges n E cross each other. Proof. Assume the opposte and let x x j and x p x q be two edges that cross. The four seed ponts thus form a convex quadrlateral whose dagonals are the two edges; see Fgure 3.4 on the left. Let A, B and C, D be the correspondng pxels n the two dgtal Vorono vertces dentfyng the two edges. Connectng x to A and x j to B by monotonc paths, we get a frst splced lasso, whch we denote as L j. Smlarly, we construct a second splced lasso, L pq. By the Splced Lasso Lemma, the two cannot enclose any seed ponts. Ths mples that the splced paths of L j cross the edge x p x q an odd number of tmes, and the splced paths of L pq cross x x j an odd number of tmes. But then the two paths must cross, whch s prohbted by the One Neck Lemma. x x q x k x p x j x x j Fg. 3.4: Left: the two edges cross and so do the two splced paths. Rght: one of the three lassos encloses a seed pont. Consstent orentaton. Recall that T s the multset of trangles n the dgtal Delaunay trangulaton. As we wll see shortly, T s n fact a set. The sequence of the three vertces of a trangle mples an orentaton, whch s ether clockwse or counterclockwse. Assumng x x j x k s n T, t has a dual dgtal Vorono vertex that contans three pxels colored, j, and k. By defnton of dgtal Vorono vertex, the color of the fourth pxel s dfferent from the color of the dagonally opposte pxel n the 2-by-2 array; see Fgure 2.2. We say the orentaton of x x j x k s consstent wth the three correspondng pxels f both are clockwse or both are counterclockwse. CONSISTENT ORIENTATION LEMMA. The orentaton of each trangle n T s consstent wth the orentaton of the correspondng pxels n the dual dgtal Vorono vertex. Proof. Let x x j x k be a trangle n T wth correspondng pxels A, B, C n the dual dgtal vertex. We connect x wth a monotonc path to A, x j to B, and x k to C; see Fgure 3.4 on the rght. To get a contradcton, we suppose the orentaton of x x j x k s not consstent wth that of ABC. In other words, the order n whch the three paths connect to the dgtal vertex s dfferent from the orentaton of x x j x k. On the other hand, f we connect x, x j, and x k wth straght lne segments to the vertex, we get a consstent order. Ths mples that one of the monotonc paths reaches around another seed pont, that s, the lasso defned by ts monotonc path and the straght lne segment encloses that seed pont, a contradcton to the Lasso Lemma. No nestng trangles. Usng the consstent orentaton between the trangles and the pxels n the dual dgtal Vorono vertces, we now show that no two trangles n T are nested. Ths ncludes the case n whch the two trangles are the same. NO NESTING LEMMA. No two trangles n T are nested or the same. Proof. Let x x j x k and x p x q x r be two trangles wth dfferent dual dgtal Vorono vertces. We frst consder the case n whch the second trangle has at least one new seed pont,

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 13 x r {x, x j, x k }. To show that the trangles are not nested, t suffces to prove that x r does not le nsde the trangle x x j x k. As usual, we draw the monotonc paths from the seed ponts to the dual vertex; see Fgure 3.5 on the left. Splcng the paths n pars, we get three splced lassos. To complete the proof, we thnk of the nsdes of the three splced lassos as the projecton of the three faces of a tetrahedron bult on top of the trangle. Observe that the projectons cover the trangle. If x r les nsde the trangle then t s enclosed by one of the splced lassos, a contradcton to the Splced Lasso Lemma. x k x k x x j x x j Fg. 3.5: Left: the nsdes of the three splced lassos cover the trangle. Rght: Planar drawng of a complete bpartte graph. We consder second the case n whch the two trangles are the same. Of course, the dual dgtal Vorono vertces are dfferent. Connectng the seed ponts wth the dual vertces, we get a complete bpartte graph wth fve vertces and sx edges; see Fgure 3.5 on the rght. We may assume that the drawng of the graph s plane, that s, the paths do not cross. Indeed, two paths can only cross f they have the same color, and n ths case we can cut and splce the peces to remove the crossng. Now observe how the three seed ponts connect to the two Vorono vertces. If x, x j, and x k connect n a clockwse order to one vertex then they connect n a counterclockwse order to the other vertex. It follows that one of the two trangles contradcts the Consstent Orentaton Lemma. We have now completed the proof that the dgtal Delaunay trangulaton satsfed Condton III. It remans to prove that t has the rght topology, that s, t satsfes Condton II. Connectvty. If an edge n E belongs to three or more trangles then there are two that are nested, the same, or have crossng edges. Ths would contradct the No Crossng Lemma or the No Nestng Lemma, mplyng that each edge n E belongs to ether one or to two trangles n T. In the latter case, the two trangles le on opposte sdes of the edge. We argue that each edge belongs to exactly two trangles. In other words, there are no holes n the trangulaton. We begn by provng that each regon F s smply connected. In the plane ths s equvalent to beng connected and havng no holes. SIMPLY CONNECTEDNESS LEMMA. All dgtal Vorono regons constructed by floodng are smply connected. Proof. Suppose there s a regon F that s not smply connected. By constructon, F s connected, so we can splce two monotonc paths to form a loop gong around one of the holes. If possble, we do the splcng along a shared sde of two pxels. If ths s not possble, we splce the two paths at a shared pxel corner and recall from the One Neck Lemma that the other two pxels sharng that corner have colors dfferent from each other. The two splced paths both orgnate at the seed pont, so we have a splced lasso, one n whch the starcase conssts of a sngle pxel. Drawng the pece of a starcase emanatng from a presumed seed pont, x j, nsde the lasso away from that pxel, the proof of the Splced Lasso Lemma stll apples. It follows that the hole contans no seed ponts. But then the hole must be empty,

14 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN else we could construct a monotonc path connectng the hole to the outsde. Wrte F for the set of sdes and corners shared between pxels n F and pxels not n F. We can orent the sdes so that F les locally to the left and the resultng curve s connected and goes around the regon n a counterclockwse order. Ths constructon s unambguous except n one mportant specal case. If F has a neck, there s a corner shared by four sdes. In ths case, we duplcate the corner and we connect the sdes n pars so that the curve does not cross the neck. Ths gves a cyclc sequence n whch each corner appears only once. Replacng every corner by the four pxels around t, we get a cyclc sequence of 2-by-2 arrays. Each such array contans at least one and at most three pxels from F. Snce every sde s ether vertcal or horzontal, any two contguous arrays overlap n exactly two pxels, one colored and the other j. As we walk along the sequence, the color j can only change when we pass through a dgtal Vorono vertex. Indeed, the only other array wth at least three dfferent colors s the neck, but t shares the color j wth both ts predecessor and ts successor along the sequence. Ths observaton allows us to nterpret the nformaton as we read along the sequence of arrays. Specfcally, the dgtal Vorono vertces decompose the cycle nto segments wthn whch the color j of the shared pxels s constant. It follows that two contguous dgtal Vorono vertces share one par of colors. In other words, the segment gves rse to two trangles sharng a common edge. It follows that each edge n E belongs to at least two trangles n T. Because of the No Nestng Lemma, ths number s at most two and therefore exactly two. Because the regons are smply connected, we get exactly one cycle of arrays for each F, whch mples that the trangles ncdent to a vertex x form a rng around the seed pont. Hence, the trangulaton has the topology of a 2-manfold. To conclude the argument, we use the Nerve Theorem [5, Secton III.2], whch apples because each regon s smply connected and t ntersects each other regon n a pont or a connected segment, f at all. Ths theorem mples that the trangulaton has the same homotopy type as the unon of regons. The outsde regon, F 0, complements the texture to form a 2-dmensonal sphere, so the only remanng possblty s that we have a trangulaton of the 2-sphere. Ths completes the proof that the dgtal Delaunay trangulaton satsfes Condton II and s therefore a vald soluton to our trangulaton problem. 4. Dscusson. The man contrbuton of ths paper s a proof that the dgtal Delaunay trangulaton has the geometrc and topologcal propertes we usually expect from a trangulaton n the plane: ts edges do not cross and after connectng the boundary to a dummy vertex at nfnty, we get a trangulaton of the 2-dmensonal sphere. We get these propertes f we dualze the collecton of dgtal Vorono regons colored by floodng. In contrast to colorng by Eucldean dstance to the seed ponts, floodng forms regons that are connected. We can therefore thnk of floodng as a method to remove the topologcal nose caused by the dgtal approxmaton of the real plane. The most nterestng next queston s the extenson of our correctness proof to 3-dmensonal voxel arrays.

PROOF OF CORRECTNESS OF THE DIGITAL DELAUNAY TRIANGULATION ALGORITHM 15 REFERENCES [1] T.-T. CAO, T.-S. TAN, G. RONG AND STEPHANUS, Implementng a two-dmensonal Delaunay trangulaton algorthm n GPU, Manuscrpt n preparaton, http://www.comp.nus.edu.sg/ tants/delaunay2ddownload.html. [2] T.-T. CAO, K. TANG, A. MOHAMED AND T.-S. TAN, Parallel bandng algorthm to compute exact dstance transform wth the GPU, In Proc. Sympos. Interact. 3D Graphcs Games, 2010, to appear. [3] O. CUISENAIRE, Dstance Transformatons: Fast Algorthms and Applcatons to Medcal Image Processng, PhD. thess, Unv. Catholque de Louvan, Louvan-la-Neuve, Belgum, 1999. [4] P.-E. DANIELSSON, Eucldean dstance mapper, Comput. Graphcs Image Process. 14 (1980), pp. 227 248. [5] H. EDELSBRUNNER AND J. L. HARER, Computatonal Topology. An Introducton, Amer. Math. Soc., Provdence, Rhode Island, 2009. [6] S. FORTUNE, Vorono dagrams and Delaunay trangulatons, In Computng n Eucldean Geometry, vol. 1, eds. F. K. Hwang and D.-Z. Du, Lecture Notes Seres n Computng, World Scentfc, pp. 163 172, 1992. [7] K. E. HOFF III, J. KEYSER, M. LIN, D. MANOCHA AND T. CULVER, Fast computaton of generalzed Vorono dagrams usng graphcs hardware, In Proc. 26th Ann. Conf. Comput. Graphcs Interact. Techn., 1999, pp. 277 286. [8] KHRONOS, OpenCL the open standard for parallel programmng of heterogeneous systems, http://www.- khronos.org/opencl/, 2008. [9] NVIDIA, CUDA programmng gude,http://www.nvda.com/object/cuda develop.html, 2009. [10] J. D. OWENS, D. LUEBKE, N. GOVINDARAJU, M. HARRIS, J. KRUGER, A. E. LEFOHN AND T. J. PUR- CELL, A survey of general-purpose computaton on graphcs hardware, Comput. Graphcs Forum 26 (2007), pp. 80 113. [11] G. RONG AND T.-S. TAN, Jump floodng n GPU wth applcatons to Vorono dagram and dstance transform, In Proc. Sympos. Interact. 3D Graphcs Games, 2006, pp. 109 116. [12] G. RONG, T.-S. TAN, T.-T. CAO, AND STEPHANUS, Computng two-dmensonal Delaunay trangulatons usng graphcs hardware, In Proc. Sympos. Interact. 3D Graphcs and Games, 2008, pp. 89 97. [13] J. SCHNEIDER, M. KRAUS AND R. WESTERMANN, GPU-based real-tme dscrete Eucldean dstance transforms wth precse error bounds, In Intern. Conf. Comput. Vson Theory Appl., 2009, pp. 435 442. [14] J. R. SHEWCHUK, em Trangle: engneerng a 2D qualty mesh generator and Delaunay trangulator, Appled Computatonal Geometry: Toward Geometrc Engneerng, eds. M. C. Ln and D. Manocha, Sprnger- Verlag, Lecture Notes n Computer Scences 1148, pp. 203 222, 1996. [15] A. SUD, N. GOVINDARAJU, R. GAYLE AND D. MANOCHA, Interactve 3D dstance feld computaton usng lnear factorzaton, In Proc. Sympos. Interact. 3D Graphcs and Games, 2006, pp. 117 124.

16 T. T. CAO, H. EDELSBRUNNER AND T. S. TAN Appendx A. Overvew of proof steps. The proof conssts of three major steps, each consstng of a small number of lemmas. In Fgure A.1, we show the steps as three dashed boxes wth mplcatons n sequences; they correspond to Sectons 3.1, 3.2, and 3.3. Each smaller, shaded box s a lemma. The most mportant are the Dstance Separaton Lemma, whch encapsulates most of the dgtal geometry reasonng, and the Lasso Lemma, whch forms the prmary topologcal tool used to prove the rest. Ordered Colorng Monotonc Paths One Neck Bulk Lasso Splced Lasso Consstent Orentaton No Crossng Smply Connected No Nestng III II Fg. A.1: Steps n the proof and ther dependences. Appendx B. Notaton. Table B.1 provdes a lst of notaton used n ths paper. S = {x 1,..., x n } data set, seed ponts x x j, x x j x k edges, trangles A, B, C, U, V, Y 0 pxels V, E, F Eucldean, dgtal Vorono regons B bulk F,s, B,s, Q s regon, bulk, queue after s steps L, L j lasso, splced lasso S, E, T Delaunay vertces, edges, trangles Table B.1: Notaton for geometrc concepts, sets, functons, vectors, varables.