<<

Lecture 4 Submanifold reconstruction

Jean-Daniel Boissonnat

Winter School on Computational Geometry and Topology University of Nice Sophia Antipolis January 23-27, 2017

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 1 / 54 Outline

1 The reconstruction problem

2 Distance functions and homotopy reconstruction

3 Delaunay-type simplicial complexes and homeomorphic submanifold reconstruction

4 Mesh generation of surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 2 / 54 1 The reconstruction problem

2 Distance functions and homotopy reconstruction

3 Delaunay-type simplicial complexes and homeomorphic submanifold reconstruction

4 Mesh generation of surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 3 / 54 Reconstructing surfaces from point clouds

One can reconstruct a surface from 106 points within 1mn [CGAL]

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 4 / 54 CGALmesh Achievements Meshing 3D multi-domains Input from segmented 3D medical images [IRCAD]

CGAL-mesh, Titane GeometryFactory, Acute3D

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 21 / 36

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 5 / 54 Geometric data analysis Images, text, speech, neural signals, GPS traces,...

Geometrisation : Data = points + distances between points Hypothesis : Data lie close to a structure of “small” intrinsic dimension Problem : Infer the structure from the data

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 6 / 54 DimensionalityIsomap reduction results: hands

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 7 / 54 Conformation spaces of molecules e.g. C8H16

FigureEach 1. conformationConformation isSpace represented of Cyclo-Octane. as a point Th ine setR72 of( Rconformations24 when of cyclo-octane can be representedneglecting as the a surfaceH atoms) in a high dimensional space. On the left, we show various conformations of cyclo-octane. In the center, these conformations are represented by the 3D The intrinsic dimension of the conformation space is 2 coordinates of their atoms. On the right, a dimension reduction algorithm is used to obtain a lowerThe dimensional geometry visualization of C8H16 is highlyof the nonlineardata.

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 8 / 54

Figure 2. Decomposing Cyclo-Octane. The cyclo-octane conformation space has an interesting decomposition. The local geometry of a self-intersection consists of a cylinder (top left) and a Mobius strip (top right), while the self-intersection is a ring traversing the middle of each object (shown in red). Globally, cyclo-octane conformations can be separated into a sphere (bottom left) and a Klein bottle (bottom right).

!"#$%"&%'&"&()*+%,-./-"(&*"0.-"+.-1&.,2-"+2$&01&!"#$%"&3.-,.-"+%.#4&"&5.67822$&9"-+%#&3.(,"#14&:.-&+82&;#%+2$&!+"+2'&<2,"-+(2#+&.:&=#2-/1>'& ?"+%.#"*&?)6*2"-&!26)-%+1&@$(%#%'+-"+%.#&)#$2-&6.#+-"6+&<=A@3BCADC@5EFBBBG&

     

An image with 10 million pixels a point in a space of 10 million dimensions! →

camera : 3 dof light : 2 dof

The image-points lie close to a structure of intrinsic dimension 5 embedded in this huge ambient space

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 9 / 54 Motion capture

Typically N = 100, D = 1003, d 15 ≤ Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 10 / 54 1 The reconstruction problem

2 Distance functions and homotopy reconstruction

3 Delaunay-type simplicial complexes and homeomorphic submanifold reconstruction

4 Mesh generation of surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 11 / 54 Geometric inference from noisy data Sampling and distance functions [Niyogi et al.], [Chazal et al.] Pb: infering topological and geometric properties from point cloud data sets sampled Distance to a compact K : dK : x infp K x p “around” unknown low-dimensional shapes. → ∈ k − k

Sc. challenges: -dealingwithnoise -wellfoundedmath.models

-algorithmiccomplexityissues Stability (curse of dimensionality) If the data points C are ε-close (Hausdorff) to the geometric structure 1 K, the topology and the geometry of the offsets Kr = dK− ([0, r]) and 1 C = d− ([0, r]) are close for r [Ω(ε), Reach(K) Ω(ε)] r C ∈ − The distance function framework: Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 12 / 54 When the data C are close (Hausdorff dist.) to the geometric structure K to infer... distance function dK : x infp K x p • → ∈ ￿ − ￿ Replace K and C by dK and dC • Stability results for the topology/geometry of the offsets • r 1 r 1 K = dK− ([0,r]) and C = dC− ([0,r]) Local feature size and nets [Amenta & Bern 98]

The medial axis of K is the set of points of the complement of K with at least two closest points on K

A finite point set P K is an ε-net of K if ⊆ 1 Covering: x K, d(x, P) εlfs(x) ∀ ∈ ≤ 2 Packing: p, q P, p q η ε max(lfs(p), lfs(q)) for some cst η ∀ ∈ k − k ≥ 0 0 lfs denotes the distance from x to the medial axis of M

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 13 / 54 Properties of lfs

lfs is 1-Lipschitz : lfs(x) lfs(y) x y | − | ≤ k − k

lfs(x) is small where the curvature is large and where the thickness of M is small

lfs > 0 if S is C1,1 i.e. normals exist everywhere and the normal field is Lipschitz

infx M lfs(x) is called the reach of M ∈

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 14 / 54 Computational Topology (Jeff Erickson) Examples of Cell Complexes Distance functions and simplicial complexes ˇ ˇ Corollary 15.1. For any points set P and radius ￿, the Aleksandrov-Cech complex AC￿(P) is homotopy- equivalent to the union of balls of radius ￿ centered at points in P.

Aleksandrov-Cechˇ complexes and unions of balls for two different radii. 2-simplices are yellow; 3-simplices are green.

Nerve15.1.2 theorem Vietoris-Rips (Leray) Complexes: Flags and Shadows

The proximity graph N￿(P) is the geometric graph whose vertices are the points P and whose edges join The nerve of the balls (Cech complex) and the union of balls haveˇ the all pairs of points at distance at most 2￿; in other words, N￿(P) is the 1-skeleton of the Aleksandrov-Cech samecomplex. homotopy The Vietoris-Rips type complex VR￿(P) is the flag complex or clique complex of the proximity graph N￿(P). A set of k + 1 points in P defines a k-simplex in VR￿(P) if and only if every pair defines an edge in N￿(P), or equivalently, if the set has diameter at most 2￿. Again, the Vietoris-Rips complex is an Computationalabstract Geometrysimplicial and complex. Topology Submanifold Reconstruction J-D. Boissonnat 15 / 54 The Vietoris-Rips complex was used by Leopold Vietoris [57] in the early days of homology theory as a means of creating finite simplicial models of metric spaces.2 The complex was rediscovered by Eliayu Rips in the 1980s and popularized by Mikhail Gromov [35] as a means of building simplicial models for group actions. ‘Rips complexes’ are now a standard tool in geometric and combinatorial group theory. ˇ ˇ The triangle inequality immediately implies the nesting relationship AC￿(P) VR￿(P) AC2￿(P) for any ￿, where indicates containment as abstract simplicial complexes. The upper⊆ radius⊆2￿ can be reduced to ￿3￿/2⊆if the underlying metric space is Euclidean [21], but for arbitrary metric spaces, these bounds cannot be improved. One big advantage of Vietoris-Rips complexes is that they determined entirely by their underlying proximity graphs; thus, they can be applied in contexts like sensor-network modeling where the underlying metric is unknown. In contrast, the Aleksandrov-Cechˇ complex also depends on the metric of the ambient space that contains P; even if we assume that the underlying space is Euclidean, we need the lengths of the edges of the proximity complex to reconstruct the Aleksandrov-Cechˇ complex. On the other hand, there is no result like the Nerve Lemma for flag complexes. Indeed, it is easy to construct Vietoris-Rips complexes for points in the Euclidean that contain topological features of arbitrarily high dimension.

2 Vietoris actually defined a slightly different complex. Let U = U1, U2,... be a set of open sets that cover some X . The Vietoris complex of U is the abstract simplicial complex{ whose} vertices are points in X , and whose simplices

are finite subsets of X that lie in some common set Ui . Thus, the Vietoris complex of an open cover is the dual of its Aleskandrov-Cechˇ nerve. Dowker [25] proved that these two simplicial complexes have isomorphic homology groups.

2 Some remarks and questions

From continuous to discrete and back: Shape Finite set of points Union of balls Simplicial complex → → → + The topology of a compact set K can be computed from the Cech complex of a sample P of K

– The Cech complex is huge( O(nd)) and very difficult to compute

– The Cech complex is in general not homeomorphic to K (a of K)

– The Cech complex cannot be realized in general in the same space as K

Replace the α-Cech complex by the α-complex (less big and ∼ embedded)

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 16 / 54 Looking for small and faithful simplicial complexes

Need to compromise

Size of the complex

I can we capture the intrinsic dimensionality ?

Efficiency of the construction algorithms and of the representations

I can we avoid the exponential dependence on d ? I can we minimize the number of simplices ?

Quality of the approximation

I Homotopy type & homology (RIPS complex, persistence) I Homeomorphism (Delaunay-type complexes)

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 17 / 54 1 The reconstruction problem

2 Distance functions and homotopy reconstruction

3 Delaunay-type simplicial complexes and homeomorphic submanifold reconstruction

4 Mesh generation of surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 18 / 54 Submanifolds of Rd

A compact subset M Rd is a submanifold without boundary of ⊂ intrinsic dimension k < d, if any p M has an open (topological) k-ball ∈ as a neighborhood in M

RN

W M

φ

Rm U

A curvea 1-dimensional submanifold A surface is a 2-dimensional submanifold

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 19 / 54 Voronoi diagram and Delaunay complex

Delaunay complex : Del(P) = nerve of Vor(P)

Equivalently, Del(P) is the collection of simplices with an empty circumscribing ball

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 20 / 54 The curses of Delaunay triangulations in higher dimensions

Restricted to Euclidean space (see otherwise Mael’s talk)

Computing DT is restricted to low dimensions

(The number of simplices grows exponentially with d even if the vertices lie on a curve !)

3 and higher dimensional Delaunay triangulations are not thick even if the vertices are well-spaced

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 21 / 54 !"#$%&"'(&")"&*+,-'".$",)+/, 3D Delaunay Triangulations are not thick 0$"('12'3%,4$+/,'".$$+/,even' if the vertices are well-spaced

!"#$%"#&'"#!"#"$%&'()*!"+"(",-#()#&'"#*+,$&#-.#*/01"2

## Each square face can be circumscribed by an empty sphere 345$+6&*(+%7#%$8)06"#,0&6'"%# This remains true if the grid points are slightly perturbed ####################5#()./0&(#9"&:""+#3#/0&"8*0;% therefore creating thin simplices

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 22 / 54 <45$+6&*(+%7#=*1*&0;#"=1"% ####################5#&"-0&(#9"&:""+#-#(8#/(8"#/0&"8*0;%

>45$+6&*(+%7#6(8+"8#?"8&*6"% 5#1,"-$0&(#9"&:""+#@#(8#/(8"#/0&"8*0;%#

! ! Badly-shaped simplices Badly-shaped simplices lead to bad geometric approximations

Bad consequences in rendering, numerical simulations, volume calculation and more...

see also [Cairns], [Whitehead], [Munkres], [Whitney]

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 23 / 54 Simplex quality

Altitudes q D(q, σ) If σq, the face opposite q in σ is protected, The altitude of q in σ is

D(q, σ) = d(q, aff(σ )), σq q

where σq is the face opposite q.

Definition (Thickness [Cairns, Whitney, Whitehead et al.] ) The thickness of a j-simplex σ with diameter ∆(σ) is ( 1 if j = 0 Θ(σ) = D(p,σ) minp σ otherwise. ∈ j∆(σ)

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 24 / 54 approximation

Lemma [Whitney 1957] If σ is a j-simplex whose vertices all lie within a distance h from a hyperplane H Rd, then ⊂ 2j h 2h sin (aff (σ), H) = ∠ ≤ D(σ) Θ(σ) ∆(σ)

Corollary If σ is a j-simplex, j k, vert (σ) M, ∆(σ) 2ε rch(M) ≤ ⊂ ≤ 2ε p σ, sin (aff(σ), T ) ∀ ∈ ∠ p ≤ Θ(σ)

2 (h ∆(σ) by the Chord Lemma) ≤ 2 rch(M)

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 25 / 54 Chord lemma

Let x and y be two points of M. We have

x y 1 sin (xy, T ) k − k ; ∠ x ≤ 2 rch(M) x y 2 2 the distance from y to T is at most k − k . x 2 rch(M)

2θ x y x y00 k − k ≥ k − k = 2 rch(M) sin ∠(xy, Tx)

D q y y0 = x y sin ∠(xy, Tx) k − k k x−y k2 θ q00 k − k M ≤ 2 rch(M) p Tp q0

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 26 / 54 The curses of Delaunay triangulations in higher dimensions

Restricted to Euclidean space (see otherwise Mael’s talk)

Define local Euclidean triangulations ⇒

Computing DT is restricted to low dimensions

(The number of simplices grows exponentially with d even if the vertices lie on a curve !)

Exploit the fact that M has an intrinsic dimension k d? ⇒ 

3 and higher dimensional Delaunay triangulations are not thick even if the vertices are well-spaced

Remove flat simplices ⇒

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 27 / 54 Towards Delaunay triangulation of manifolds

H H Hv H Hv Hv v v v

Figure 3. A two-dimensional link triangulation, represented as a collec- Figure 3. A two-dimensFioingaul rlienk3t.riaAngtwulaot-iodnim, repnrseisoennateldlinask atrciaonllegcu-lation,vrepresented as a collec- v tion of two-dimensional stars. tion of two-dimensional stars. v v v tion1of two-dimensional stars. (a) (b) (a)v (b) Construct local Delaunay triangulations (a) (b) Star flipping is a varia2nt Ensureof star s thatplay theing triangulationsthat adds twSot areamr ofl rstableiepping underis a va smallriant perturbationof star splaying that adds two more ideas. First, the representation and the algorithm are reHcuvrsive on Hv ideas. First, the represenStattaiornflainpadp simplextihnegaligso belongsraithvmarair toaen thertecou starsfrssivtae ofron allsp itslay verticesing that adds two more the dimensionality. Foirdeexaasm. p⇒Flei,risnt,atthhereree-dpirmeesnesniotantailothtnreiaadnnigmduelatnh-sieonaallgitoyr.iFthomr exaarmeprle,ciunrsaitvhereoe-ndimensional triangula- h Hv tion, the star of a vertex v is rehpresented by v’s link, which is a two- tion, the star of a vertetxhvei3sdriemGlueperensse allinoten localdabliytyv triangulations.’sFlionrk,ewhxaimchp intoilsea, it awno singlea- thre etriangulated-dimension manifoldal triangula- dimensional triangulation. This two-dimensional triangulation is h dimensional triangulatioonn., tThheisstwaroo-dfimaevnesriotenxalvtriisanrgeuplraetisoennitsed by v’s link, which is a two- P P represented by a set ofComputationaltwo-dime Geometrynsiona andl s Topologytars, as illuSubmanifoldstratredprien ReconstructionseFnigte-d by a set of twoJ-D.-di Boissonnatmensional 28st /a 54rs, as illustrated in Fig- dimensional triangulation. Tuhreis3.twThoe-sdeimstaerns sairoennaolt rterqiaunirgedultaotaiogrneeiswith each other either. ure 3. These stars are not required to agree with each other either. v P Each two-dimensionalrsetparreissreenptresdenbtyedabyseatoonfe-tdwimoe-dnEsiimaocnehanltswlinok-ndaiml esntasirosn,aalsstialrluissrtevrparteesdenitnedFbiyga- one-dimensional link triangulation (recall Figure 2). The one-dimensional triangulations triangulation (recall Fiugruere32.).TThheesoenset-adrims eanrseionnoalt trreiaqnugiurleadtiotnos agree with each other either. (c) (c) are called link rings, aEnadcuhnltiwkeot-hdeiimr heingshieor-ndaiml setnasrioinsaarlreecpocruaenlslteednr-tleindkbryingaso, naned-duinmlikeensthioeinrahliglihnekr-dimensional counter- v parts, they are alwFaigyusrient4e.rn(al)lyThceonsstaisrteonf tv. in a convex polyhedron H. (b) TFhigeucreon4v.ex(a) The star of v in a convex polyhedron H. (b) The convex parts, they are always internally consistent. hull Hv of rays, a polyhedral cone whose boundary is combinatorially triangulation (recall Figure 2). STehceonodn, eth-deiwmoheurnkllhsHoiorvsnoeaf olrfatyrssita,anragflpuiopllypahitneiogdrnaisl cthoeneclwahssoisceflbiopunaldgaory- is combinatorially (c) Second, the workhorse of star flipping is the classic flip algo- equivalent to v’s star. (c) A cross-section of the cone is the ecqounivveaxlehnut ltlo v’s star. (c) A cross-section of the cone is the convex hull are called link rings, and unlriikthemt,haetirevheirgyhlevre-ldoimf tehnesrieocnurasliocno.uTnotemr-ake a star locally con- of the points where the rays intersect the cross-sectional hyperplane. rithm, at every level of the recursion. To make a star locally con- of the points where the rays intersect tFheigcurorses-4se. c(tiao)naTl hhyepesrtpalranoef. v in a convex polyhedron H. (b) The convex vex, star flipping tries ptoaarptsp,lythcelayssaicrefliaplpwinagywis itnhtinertnheavllleinyxk,cstotrainarnsfli-isptpeinntg. tries to apply classic flipping within the link trian- gulation. Only if classic flipping gets stuck before rehsutollriHngv loofcaral ys, a polyhedral cone whose boundary is combinatorially gulation. Only if classicSfleipcpoingd,getthsestwucokrkbehfooresereostforsintagrloflciaplping is the classic flip algo- equivalent to v’s star. (c) A cross-section of the cone is the convex hull convexity to a stadridmoensssitoanrafllicpopninvgexcahlul liltsHelf roefcruarysisv,ealny.d computing thedidm-denimsieonn-al convex hull Hv of rays, and computing the d-dimen- convexity to a star doersitshtamr fl, iaptpienvgecraylllietsveelfl roecfutrhsieverleyc. ursion. To make a star locally con-v of the points where the rays intersect the cross-sectional hyperplane. sional convex hull P of points. The wealth of ideas comspiountatlioconnavl ex hull P of points. The wealth of ideas computational Star flipping, described in Section 5, seems likely to ruSntafrasflteiprping, described in Section 5, seems likely to run faster vex, star flipping tries to apply classic flippingegowimettherisnetmheplloiynkfotrritahne-last problem apply immediagteeloymteotetrhseemploy for the last problem apply immediately to the than star splaying if the input triangulation is close to tDehanlaustnaarys,playing if the input triangulation is close to Delaunay, gulation. Only if classic flipping gets stuckfirbstepfororbelermes. toring local first problem. because it takes better advantage of the input triangulatiobne.cause it takes better advantage of the input triangulation. convexity to a star does star flipping call itselfOnreecuwrasyivteolyco. mpute H is to usediamde-ndsimioennasiloncaolncvoenxOnvehxeuhlwulalHly vtoocformapyust,e aHndisctomuspeuatind-gditmhensdi-odniaml ceonn-vex hull sional convex hulallgPoroitfhmpotiontcso.mTphutee wetheasltahr ooff iedaecahsvceortmexpiuntaVtioinndaivlidually. Star flipping, described in Section 5, seeamlgsoriltihkmelytotocormupnutfeasthterstar of each vertex in V individually. 3 Stars, Rays, and Cones 3 Stars, RaNaysiv,ealynadppColiedn, tehsis method is strikgienoglmy esltoew—rs eimts pbelosNaty-cafivoserlyrtuhanpe-pliaesdt, tphrios bmletmhodapispsltyrikiimngmlyesdloiaw—telyitstboestth-cease run- than star splaying if the input triangulation is close to Delaunay, ning time is in Θ(n2), where n is the number of vertices in V. But Star splaying is fonuingdetdimoen issevinerΘal(onb2)s,ewhrvaetiroenns aisbothuet tnhuemrebleartiofn-vertices in V. But Star splaying is founded on several observations about the relation- first problem. if the candidates for inclusion in the link of each vertex could be because it takes better advantsahgipesobfettweheeinnsptauirfts,thrieaaycnsa,gnpudolildayathiteodsnrf.aolrcionncelsu,scioonnvienxtheulllisn,kanodf Deeac-h vertex could be ships between stars, rays, polyhedral cones, convex hulls, and De- One way to copmrupneudtetoHa sims atlol nuusmebaer—d-sdaiym, aencosinostnaanlt ncuomnvberxohf uvlelrtices in launay triangulatipornusn.ed to a small number—say, a constant number of vertices in launay triangulations. each link—then the method becomes strikingly attractive, as it en- each link—then the method becomeaslgsdto+r1irkiitnhgmly atottraccotimvep, uasteit tehne- star of each vertex in V individually. Consider the convex3hull HStoaf arsse,t VRaof vyesrt,iceasnindEdCo+1C. (oCnnoseimdse-r the convex hull H of a set V of vertices in E . (Com- tails just a linear number of constant-time convex hull computa- puting H is a stantdaailrsdjwusatyatolicnoemarpuntuemabDeer loafuncaoynsttraiNaannt-gituvimleaeltyiocnoanpinvpelxiehdu,llthciosmmpuettah-od is strikingly slow—its best-case run- puting H is a standard way to compute a Delaunay triangulation in tio2ns. d tions. + ning time is in Θ(n ), where n is the number of vertices in V. But Ed; see below.) SuppoSsetatrhastpVlaiysignegneirsicf:onuonde+d2opnoisneEtvse;orsfaeVle oblibeelsoewr.v)aStuiopnpossaebthoauttVthisegreenleartiico:nn-o d 2 points of V lie At first glance, one inconvenience of this method appears to be on a common hyperAtplafiners.tTghleancHe, iosnaesiinmcpolnivcieanliepnocliyeftotpfhete—hicseavmneedrytihdoadteasppfeoarrsitnocbluesion in the link of each vertex could be on a common hyperplane. Then H is a simplicial polytope—every finding a corner-cutting hyperplane h. This step is not only unnec- ships between stars, rays, polyhedral cones,fincdoinnvgeaxcohrunle∂lrs-,cuatntidngDehy-perplane h. This step is not only unnec- ∂ facet of H is a d-simplex. Let H denote the boundaprryutnrieadngtuolaa- smalelsnsaurmy; biteirs—unswiayse,,abeccoaunssetaconmt pnuutimngbtehre oinftevrseercttiicoenss oinf the rays facet of H is a d-simpllaeux.naLyettriHandgeunloatetiothnesb.oundary triangula- essary; it is unwise, because computing the intersections of the rays tion of H. For consistency, facets are d-simplices aenadcrhidlgienska—rethen tihneRmwietthhohdinbtreocdoucmeseasvsotirdiakbilnegrolyunadtotrffacertriovres,. aMas intyeanlg-orithms tion of H. For consistency, facets are d-simplices and ridges are d+1 d+1 ff d Consider the convex huldl+H1(dof 1a)-sdseimt VpliocefsvitnherRotiuwicgehtshouihntitnhEtirsopdau.pce(Crs, aowhvmoei-dthaebrleinroEundoor ienrrEors.. Many algorithms d (d 1)-simplices throughout this paper, whether in E or−in E . tails just da linearfonrucmombpeurtionfg connvsetxanhtu-ltlismofepcooinntvseexts hinulEl ccoamn pbeutaad-apted to − Imagine wishinfgortococmompuptuitnegncootnavllexofhHul,lbsuotfjupsotinthtessettasrionfEonecan be adapted to Imagine wishing topcoumtinpugteHnoitsaallsotfaHnd, baurdt juwsat ythetostcaroomf pounete a Delaunay triangulation in tions. compute convex hulls of rays originating at a common point v in d vertex v of H—scpoemcifipucatellyc,ovn’vsexstahruilnls∂oHf ,ralyeasvoinriggionuattiHngpartoapecro. mmon pdo+i1nt v in d vertex v of H—specifiEcal;lys,eve’sbsetlaorwin.)∂SHu, plepaovsinegthouatt HV pisrogpern.eric: nod+d1 + 2 points of V lie E , simpdly by replacing the orientation tests on d + 1 points in E E , simply by replacing the orientatioAtn tefistrsstongdla+n1cep,ooinntseininEconvenience of this method da+p1 pears to be See Figure 4(a). Define the set of rays that originate at v and+ pass with orientation tests on d + 2 points in E (wherein v is always See Figure 4(a). Definoenthaecsoetmomf roaynshthyapteorrpiglainnaete. aTthveanndHpaissa simpwilitchiaolripenotlaytitoonptee—stseovnedry+ 2 points in Ed 1 (wherein v is always through other vertices of V, namely R = v"w : w Vfinvdi.nLgeat Hcov rner-countetionfgthhoyseppeorpinltasn).e h. This step is not only unnec- through other verticesfoafcVet, noafmHelyisRa=d-v"swim: pwlexV. Lvet. ∂LHet Hdev note tohnee boof uthnodsearpyointrtisa).ngu{la- ∈ \{ }} { ∈ \{ b}}e the convex hull of the rays R, illustrated in Figurees4s(abr)y. ;Hitviissunwise,Tbheecsataunsdearcdoimncpreumtienngtatlhinesienrttieornsmecettihoondsfoorfutphdeatriangysa convex be the convex hull of the rays R, illustrated in Figure 4(b). Hv is The standard incremental insertion method for updating a convex tion of H. For consistency, afapcoelytsheadrrealdc-osniemwiplthicveesrtaexndv arnidgHes aHrev. The star of v wraps hull is the beneath-beyond mffethod of Kallay [17], which adds one a polyhedral cone with vertex v and H Hv. The star of v wraps hull is the bde+n1eath-bey⊂ondd method oinf KaR lwilayth[1h7]i,nwhtroicdhuacdedssaovnoeidable roundo errors. Many algorithms (d 1)-simplic⊂es throughoutatrhoiusnpdathpeert,ipwhofeHthv elirkienaEpaperosrheinll Earo.und an ice cream cone. new vertex (or ray) at a time and mdaintains after each addition the around the tip of Hv like−a paper shell around an ice cream cone. new vertex (or ray) at a time and mfaoinrtacinosmapftuertienagchcaodndviteioxnhthuells of point sets in E can be adapted to The star is combinatorially equivalent to the cone’s boundary: the convex hull of the vertices (or rays) processed so far. Let C be the The star is combinatorialIlymeaqguiinvaelewintsthoitnhge ctonceo’smbpountedanryo:ttahlel of H,cobnuvtejxuhsutltlhoef tshtearveorftiocense(or rays)cpormocpesusteed csonfavre. xLehtuCllbseotfherays originating at a common point v in face lattice for the proper faces of Hv is isomorphic to the face lat- convex hull at a fixed moment in time between vertex insertions. face lattice for the provperrtfeaxcesvooffHHv i—s issopmeocripfihciacltloy,thve’fsacsetalrat-in ∂H,colnevaevxinhgulloauttaHfixperdompeorm. ent in timde+1between vertex insertions. d tice for the star of v. In the isomorphism, the rays onEthe bo, usnimdapryly by reLpetlafcbinega tfhaceeot roifeCn.taAtiopnointetsptsisosnaidd +to1bepboeiynotnsdinf Eif p and C tice for the star of v. In the isomorphism, the rays on the boundary Let f be a facet of C. A point p is said to be beyond f if p and C d+1 See Figure 4(a). Define the soeftHovfarraeyisn tohnaet-to-roigneincaotrereaspt ovndaenndcepwiastsh the edgwiestihn ov’rsiesntatration tleiestosnoonppdos+ite2spidoeisnotsf tihne Eaffine(hwhulleorfeifn. vThies baelwneaayths-beyond of Hv are in one-to-one correspondence with the edges in v’s star lie on opposite sides of the affine hull of f . The beneath-beyond through other vertices of V, naandmtehleyveRrti=cesvi"nwv’:swlink. V v . Let Hv one of those poinatslg)o. rithm adds a vertex w and transforms C into conv(C w) by and the vertices in v’s link. { algorith∈m ad\{ds }a}vertex w and transforms C into conv(C w) by be the convex hull of the rays LRe,t hillbuesatrhaytpeedrpilnanFeitghuatresep4a(rba)te.s Hv froims all the other vertices finding and deleting every facet of C that w is beyond, then ∪creating Let h be a hyperplane that separates v from all the other vertices finding and deleting evevry facet of C thTathweistbaenydoanrdd, tihnecnr∪cermeaetinntgal insertion method for updating a convex a polyhedral cone with verteixn vV,ainlldustHrated iHn F.iguTrhee4(sct)a. rThoefcvrowrss-saepcstion P = Hv h = H h new facets that attach w to every ridge of C that adjoins exactly one in V, illustrated in Figure 4(c). The cross-section P = Hv h = H h nvew facets that attach w to every ridgheuo∩llf Cistthhae∩t abdejonienastehx-abcetlyoonnde method of Kallay [17], which adds one ∩is a d-p∩olytop⊂e, namely the convex hull of the intersection points surviving facet. is a d-polytope, namealyrothuencdonthvextihpullooffHthveliinktersaecptiaopneprosinhtesll arousunrdviavinngicfeacectr.eam cone. "r h : r R . The face lattice of P’s boundary is insoemwovrpehritcexto(or ray)Tahtisaidtiema weoarnksdwhmeatihnetraCiniss afctoenrvexachhullaodfdpiotiiontns othrea convex "r h : r R . The fTacheelastttaicreiosfcPo’ms bboiunnadtaorryiaislliysoem{qou∩ripvhailcetnot∈to}the cTohnisei’dseabowuonrkdsawhry:eththereC is a convex hull of points or a convex { ∩ ∈ } the face lattice of v’s link. convex hull of thehuvlleortfircaeyss (wiorthraycso)mpmroonceosrisgeind vs.oTfhaer.laLtteertcCircbuemstthaence is il- the face lattice of v’s link. hull of rays with a common origin v. The latter circumstance is il- face lattice for the proper facesTohfe Hcevntirsalisoobmseorvraptihoincitsoththatethfaesceetlharte-e problemcosnavre xeshseunl-l at a lfiuxsteradtemd ionmFiegnutrein5. tTimheerebiseotwene iemnpovretartnetxalginorsiethrmtioicndsi.fference The central observation is that these three problems are essen- lustrated in Figure 5. There is one important algorithmic difference tice for the star of v. In the istoiamllyorepqhuivsamle,nt:hecormaypsutoinng tthhe sbtoaruonrdlainryk of v in Ltheetbfoubnedaaryfacet obfetCwe. eAn thpeosienttwpo cisircsuamidstatoncbese: baeryayoncadn flieifbepyoannddeCvery facet tially equivalent: comopfutHing athreesitnaroonr eli-ntok-oofnveicnotrhreeobsfpotuhonend(dadery+nc1e)-widimbthentwetshioennaeltdhcgeosenesvtewixnohvcui’lrslcHusmt,acsrtoamncpeust:inagrtahyec(adn+lie1)b-eyond eovfetrhyefaccoente C, meaning that the convex hull of the rays is Ed+1. of the (d + 1)-dimensional cvonvex hull H, computing the (d + 1)- of the cone C, meaning that the colineveoxnhuolpl poof sthiteersaiydseiss oEfd+t1h. e affine hull of f . The beneath-beyond and the vertices in v’s link. algorithm adds a vertex w and transforms C into conv(C w) by Let h be a hyperplane that separates v from all the other vertices finding and deleting every facet of C that w is beyond, then ∪creating in V, illustrated in Figure 4(c). The cross-section P = Hv h = H h new facets that attach w to every ridge of C that adjoins exactly one ∩ ∩ is a d-polytope, namely the convex hull of the intersection points surviving facet. "r h : r R . The face lattice of P’s boundary is isomorphic to { ∩ ∈ } This idea works whether C is a convex hull of points or a convex the face lattice of v’s link. hull of rays with a common origin v. The latter circumstance is il- The central observation is that these three problems are essen- lustrated in Figure 5. There is one important algorithmic difference tially equivalent: computing the star or link of v in the boundary between these two circumstances: a ray can lie beyond every facet of the (d + 1)-dimensional convex hull H, computing the (d + 1)- of the cone C, meaning that the convex hull of the rays is Ed+1. The assumptions

M is a differentiable submanifold of positive reach of Rd

The dimension k of M is small

is an ε-net of M for a small enough ε P We assume that we know the tangent space T at each p p ∈ P

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 29 / 54 Local triangulation : Del ( ) Tp P

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 30 / 54 Constructing Del ( ) Tp P Given a d-flat H R, Vor( ) H is a weighted Voronoi diagram in H ⊂ P ∩

pj0 2 2 x x pi x pj k − k ≤ k − k pi0 2 2 2 2 x pi0 pi pi0 x pi0 pj pj0 pj ⇔ k − k − k − k ≤ k − k − k − k H pi

Corollary: construction of DelTp ψ (p ) = (p , p p 2) (weighted point) p i i0 −k i − i0k 1 project onto T which requires O(Dn) time P p 2 construct star(ψ (p )) in Del(ψ (p )) T p i p i ⊂ pi 3 star(p ) star(ψ (p )) (isomorphic) i ≈ p i

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 31 / 54 The tangential Delaunay complex

[Freedman 2002], [B.& Flottoto 2004], [B. Ghosh 2014]

1 Construct the star of p in the Delaunay triangulation Del ( ) ∈ P Tp P of restricted to T P p 2 S DelTM( )= p star(p) P ∈P

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 32 / 54 + Del ( ) Del( ) TM P ⊂ P + star(p), Del ( ) and therefore Del ( ) can be computed without Tp P TM P computing Del( ) P – Del ( ) is not necessarily a triangulated TM P Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 33 / 54 Inconsistent configurations

Definition

φ = [p1, p2,..., pk+2] τ = φ p \{ l} Inconsistent configurations φ is an inconsistent configuration witnessed by p , p , p φ if i j l ∈ p τ starp T Vor(τ) = ∈ i ⇔ pi ∩ 6 ∅ q p τ starp T Vor(τ) = q 6∈ j ⇔ pj ∩ ∅ Vor(pl) is the first Voronoi cell whose s s interior is hit by [cpi (τ) cpj (τ)] t → t r r An IC is a (k + 1)-simplex of Del(M)

(a)DelT M( ) (b) C( ) P Computational Geometry andP Topology Submanifold Reconstruction J-D. Boissonnat 34 / 54 Definition

=[p1, p2,..., pk+2] ⌧ = p \{ l} is an inconsistent configuration witnessed by p , p , p if i j l 2 ⌧ star(pi) Tpi Vor(⌧) = 2 , \ 6 ; Lectures at MPRINovember 2013 22 / Computational⌧ Geometricstar(p ) learning () Manifold Reconstruction T Vor(⌧)= 41 62 j , pj \ ; Vor(pl) is the first Voronoi cell whose interior is hit by [c (⌧) c (⌧)] pi ! pj Inconsistent simplex

Inconsistent configurationsτ is said are to be notinconsistent thick iff p , p τ s. t. Vor(τ) T = and Vor(τ) T = ∃ i j ∈ ∩ pi ￿ ∅ ∩ pj ∅ aff(Vor(τ)) M ∈ p Tpj

pj Tpi τ

pi cpj(τ) 1 τ star(pi) B(cpi (τ) = B (τ) i ∈ ⇒ ∩ P ∅ pj φ c (τ) 2 τ star(p ) B(c (τ) p pi 6∈ j ⇒ pi ∩ P 3

Bpi(τ) Vor(τ) ∈

if τ is small and thick Arijit Ghosh PhD defense c and c are close & aff(τ) T T ⇒ i j ≈ pi ≈ pj φ := τ p is not thick ⇒ ∗

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 35 / 54 Reconstruction of smooth submanifolds

1 For each vertex v, compute the star star(p) of p in Del ( ) p P 2 Remove inconsistencies among the stars by weighting the points 3 Glue the stars to obtain a triangulation of P

H H Hv H Hv Hv v v v

Figure 3. A two-dimensional link triangulation, represented as a collec- Figure 3. A two-dimensFioingaul rlienk3t.riaAngtwulaot-iodnim, repnrseisoennateldlinask atrciaonllegcu-lation,vrepresented as a collec- v tion of two-dimensional stars. tion of two-dimensional stars. v v v tion of two-dimensional stars. (a) (b) (a)v (b) Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 36 / 54 (a) (b) Star flipping is a variant of star splaying that adds two more Star flipping is a variant of star splaying that adds two more Hv ideas. First, the represenStattaiornflainpdptihnegaligsoraithvmarairaenrteicoduferassiv.taeFroirnsspt,lathyeinregprtehseanttaatidodnsantwd tohemalogroerithm are reHcuvrsive on the dimensionality. Foirdeexaasm. pFlei,risnt,atthhereree-dpirmeesnesniotantailothtnreiaadnnigmduelatnh-sieonaallgitoyr.iFthomr exaarmeprle,ciunrsaitvhereoe-ndimensional triangula- h Hv tion, the star of a vertex v is rehpresented by v’s link, which is a two- tion, the star of a vertetxhveisdriemperensseinotendabliytyv.’sFlionrk,ewhxaimchpilsea, itwnoa- three-dimensional triangula- dimensional triangulation. This two-dimensional triangulation is h dimensional triangulatioonn., tThheisstwaroo-dfimaevnesriotenxalvtriisanrgeuplraetisoennitsed by v’s link, which is a two- P represented by a set of two-dimensional stars, as illustratredprienseFnigte-d by a set of two-dimensional stars, as illustrated inPFig- dimensional triangulation. Tuhreis3.twThoe-sdeimstaerns sairoennaolt rterqiaunirgedultaotaiogrneeiswith each other either. ure 3. These stars are not required to agree with each other either. v P Each two-dimensionalrsetparreissreenptresdenbtyedabyseatoonfe-tdwimoe-dnEsiimaocnehanltswlinok-ndaiml esntasirosn,aalsstialrluissrtevrparteesdenitnedFbiyga- one-dimensional link triangulation (recall Figure 2). The one-dimensional triangulations triangulation (recall Fiugruere32.).TThheesoenset-adrims eanrseionnoalt trreiaqnugiurleadtiotnos agree with each other either. (c) (c) are called link rings, aEnadcuhnltiwkeot-hdeiimr heingshieor-ndaiml setnasrioinsaarlreecpocruaenlslteednr-tleindkbryingaso, naned-duinmlikeensthioeinrahliglihnekr-dimensional counter- v parts, they are alwFaigyusrient4e.rn(al)lyThceonsstaisrteonf tv. in a convex polyhedron H. (b) TFhigeucreon4v.ex(a) The star of v in a convex polyhedron H. (b) The convex parts, they are always internally consistent. hull Hv of rays, a polyhedral cone whose boundary is combinatorially triangulation (recall Figure 2). STehceonodn, eth-deiwmoheurnkllhsHoiorvsnoeaf olrfatyrssita,anragflpuiopllypahitneiogdrnaisl cthoeneclwahssoisceflbiopunaldgaory- is combinatorially (c) Second, the workhorse of star flipping is the classic flip algo- equivalent to v’s star. (c) A cross-section of the cone is the ecqounivveaxlehnut ltlo v’s star. (c) A cross-section of the cone is the convex hull are called link rings, and unlriikthemt,haetirevheirgyhlevre-ldoimf tehnesrieocnurasliocno.uTnotemr-ake a star locally con- of the points where the rays intersect the cross-sectional hyperplane. rithm, at every level of the recursion. To make a star locally con- of the points where the rays intersect tFheigcurorses-4se. c(tiao)naTl hhyepesrtpalranoef. v in a convex polyhedron H. (b) The convex vex, star flipping tries ptoaarptsp,lythcelayssaicrefliaplpwinagywis itnhtinertnheavllleinyxk,cstotrainarnsfli-isptpeinntg. tries to apply classic flipping within the link trian- gulation. Only if classic flipping gets stuck before rehsutollriHngv loofcaral ys, a polyhedral cone whose boundary is combinatorially gulation. Only if classicSfleipcpoingd,getthsestwucokrkbehfooresereostforsintagrloflciaplping is the classic flip algo- equivalent to v’s star. (c) A cross-section of the cone is the convex hull convexity to a stadridmoensssitoanrafllicpopninvgexcahlul liltsHelf roefcruarysisv,ealny.d computing thedidm-denimsieonn-al convex hull Hv of rays, and computing the d-dimen- convexity to a star doersitshtamr fl, iaptpienvgecraylllietsveelfl roecfutrhsieverleyc. ursion. To make a star locally con-v of the points where the rays intersect the cross-sectional hyperplane. sional convex hull P of points. The wealth of ideas comspiountatlioconnavl ex hull P of points. The wealth of ideas computational Star flipping, described in Section 5, seems likely to ruSntafrasflteiprping, described in Section 5, seems likely to run faster vex, star flipping tries to apply classic flippingegowimettherisnetmheplloiynkfotrritahne-last problem apply immediagteeloymteotetrhseemploy for the last problem apply immediately to the than star splaying if the input triangulation is close to tDehanlaustnaarys,playing if the input triangulation is close to Delaunay, gulation. Only if classic flipping gets stuckfirbstepfororbelermes. toring local first problem. because it takes better advantage of the input triangulatiobne.cause it takes better advantage of the input triangulation. convexity to a star does star flipping call itselfOnreecuwrasyivteolyco. mpute H is to usediamde-ndsimioennasiloncaolncvoenxOnvehxeuhlwulalHly vtoocformapyust,e aHndisctomuspeuatind-gditmhensdi-odniaml ceonn-vex hull sional convex hulallgPoroitfhmpotiontcso.mTphutee wetheasltahr ooff iedaecahsvceortmexpiuntaVtioinndaivlidually. Star flipping, described in Section 5, seeamlgsoriltihkmelytotocormupnutfeasthterstar of each vertex in V individually. 3 Stars, Rays, and Cones 3 Stars, RaNaysiv,ealynadppColiedn, tehsis method is strikgienoglmy esltoew—rs eimts pbelosNaty-cafivoserlyrtuhanpe-pliaesdt, tphrios bmletmhodapispsltyrikiimngmlyesdloiaw—telyitstboestth-cease run- than star splaying if the input triangulation is close to Delaunay, ning time is in Θ(n2), where n is the number of vertices in V. But Star splaying is fonuingdetdimoen issevinerΘal(onb2)s,ewhrvaetiroenns aisbothuet tnhuemrebleartiofn-vertices in V. But Star splaying is founded on several observations about the relation- first problem. if the candidates for inclusion in the link of each vertex could be because it takes better advantsahgipesobfettweheeinnsptauirfts,thrieaaycnsa,gnpudolildayathiteodsnrf.aolrcionncelsu,scioonnvienxtheulllisn,kanodf Deeac-h vertex could be ships between stars, rays, polyhedral cones, convex hulls, and De- One way to copmrupneudtetoHa sims atlol nuusmebaer—d-sdaiym, aencosinostnaanlt ncuomnvberxohf uvlelrtices in launay triangulatipornusn.ed to a small number—say, a constant number of vertices in launay triangulations. each link—then the method becomes strikingly attractive, as it en- each link—then the method becomeaslgsdto+r1irkiitnhgmly atottraccotimvep, uasteit tehne- star of each vertex in V individually. Consider the convex3hull HStoaf arsse,t VRaof vyesrt,iceasnindEdCo+1C. (oCnnoseimdse-r the convex hull H of a set V of vertices in E . (Com- tails just a linear number of constant-time convex hull computa- puting H is a stantdaailrsdjwusatyatolicnoemarpuntuemabDeer loafuncaoynsttraiNaannt-gituvimleaeltyiocnoanpinvpelxiehdu,llthciosmmpuettah-od is strikingly slow—its best-case run- puting H is a standard way to compute a Delaunay triangulation in tio2ns. d tions. + ning time is in Θ(n ), where n is the number of vertices in V. But Ed; see below.) SuppoSsetatrhastpVlaiysignegneirsicf:onuonde+d2opnoisneEtvse;orsfaeVle oblibeelsoewr.v)aStuiopnpossaebthoauttVthisegreenleartiico:nn-o d 2 points of V lie At first glance, one inconvenience of this method appears to be on a common hyperAtplafiners.tTghleancHe, iosnaesiinmcpolnivcieanliepnocliyeftotpfhete—hicseavmneedrytihdoadteasppfeoarrsitnocbluesion in the link of each vertex could be on a common hyperplane. Then H is a simplicial polytope—every finding a corner-cutting hyperplane h. This step is not only unnec- ships between stars, rays, polyhedral cones,fincdoinnvgeaxcohrunle∂lrs-,cuatntidngDehy-perplane h. This step is not only unnec- ∂ facet of H is a d-simplex. Let H denote the boundaprryutnrieadngtuolaa- smalelsnsaurmy; biteirs—unswiayse,,abeccoaunssetaconmt pnuutimngbtehre oinftevrseercttiicoenss oinf the rays facet of H is a d-simpllaeux.naLyettriHandgeunloatetiothnesb.oundary triangula- essary; it is unwise, because computing the intersections of the rays tion of H. For consistency, facets are d-simplices aenadcrhidlgienska—rethen tihneRmwietthhohdinbtreocdoucmeseasvsotirdiakbilnegrolyunadtotrffacertriovres,. aMas intyeanlg-orithms tion of H. For consistency, facets are d-simplices and ridges are d+1 d+1 ff d Consider the convex huldl+H1(dof 1a)-sdseimt VpliocefsvitnherRotiuwicgehtshouihntitnhEtirsopdau.pce(Crs, aowhvmoei-dthaebrleinroEundoor ienrrEors.. Many algorithms d (d 1)-simplices throughout this paper, whether in E or−in E . tails just da linearfonrucmombpeurtionfg connvsetxanhtu-ltlismofepcooinntvseexts hinulEl ccoamn pbeutaad-apted to − Imagine wishinfgortococmompuptuitnegncootnavllexofhHul,lbsuotfjupsotinthtessettasrionfEonecan be adapted to Imagine wishing topcoumtinpugteHnoitsaallsotfaHnd, baurdt juwsat ythetostcaroomf pounete a Delaunay triangulation in tions. compute convex hulls of rays originating at a common point v in d vertex v of H—scpoemcifipucatellyc,ovn’vsexstahruilnls∂oHf ,ralyeasvoinriggionuattiHngpartoapecro. mmon pdo+i1nt v in d vertex v of H—specifiEcal;lys,eve’sbsetlaorwin.)∂SHu, plepaovsinegthouatt HV pisrogpern.eric: nod+d1 + 2 points of V lie E , simpdly by replacing the orientation tests on d + 1 points in E E , simply by replacing the orientatioAtn tefistrsstongdla+n1cep,ooinntseininEconvenience of this method da+p1 pears to be See Figure 4(a). Define the set of rays that originate at v and+ pass with orientation tests on d + 2 points in E (wherein v is always See Figure 4(a). Definoenthaecsoetmomf roaynshthyapteorrpiglainnaete. aTthveanndHpaissa simpwilitchiaolripenotlaytitoonptee—stseovnedry+ 2 points in Ed 1 (wherein v is always through other vertices of V, namely R = v"w : w Vfinvdi.nLgeat Hcov rner-countetionfgthhoyseppeorpinltasn).e h. This step is not only unnec- through other verticesfoafcVet, noafmHelyisRa=d-v"swim: pwlexV. Lvet. ∂LHet Hdev note tohnee boof uthnodsearpyointrtisa).ngu{la- ∈ \{ }} { ∈ \{ b}}e the convex hull of the rays R, illustrated in Figurees4s(abr)y. ;Hitviissunwise,Tbheecsataunsdearcdoimncpreumtienngtatlhinesienrttieornsmecettihoondsfoorfutphdeatriangysa convex be the convex hull of the rays R, illustrated in Figure 4(b). Hv is The standard incremental insertion method for updating a convex tion of H. For consistency, afapcoelytsheadrrealdc-osniemwiplthicveesrtaexndv arnidgHes aHrev. The star of v wraps hull is the beneath-beyond mffethod of Kallay [17], which adds one a polyhedral cone with vertex v and H Hv. The star of v wraps hull is the bde+n1eath-bey⊂ondd method oinf KaR lwilayth[1h7]i,nwhtroicdhuacdedssaovnoeidable roundo errors. Many algorithms (d 1)-simplic⊂es throughoutatrhoiusnpdathpeert,ipwhofeHthv elirkienaEpaperosrheinll Earo.und an ice cream cone. new vertex (or ray) at a time and mdaintains after each addition the around the tip of Hv like−a paper shell around an ice cream cone. new vertex (or ray) at a time and mfaoinrtacinosmapftuertienagchcaodndviteioxnhthuells of point sets in E can be adapted to The star is combinatorially equivalent to the cone’s boundary: the convex hull of the vertices (or rays) processed so far. Let C be the The star is combinatorialIlymeaqguiinvaelewintsthoitnhge ctonceo’smbpountedanryo:ttahlel of H,cobnuvtejxuhsutltlhoef tshtearveorftiocense(or rays)cpormocpesusteed csonfavre. xLehtuCllbseotfherays originating at a common point v in face lattice for the proper faces of Hv is isomorphic to the face lat- convex hull at a fixed moment in time between vertex insertions. face lattice for the provperrtfeaxcesvooffHHv i—s issopmeocripfihciacltloy,thve’fsacsetalrat-in ∂H,colnevaevxinhgulloauttaHfixperdompeorm. ent in timde+1between vertex insertions. d tice for the star of v. In the isomorphism, the rays onEthe bo, usnimdapryly by reLpetlafcbinega tfhaceeot roifeCn.taAtiopnointetsptsisosnaidd +to1bepboeiynotnsdinf Eif p and C tice for the star of v. In the isomorphism, the rays on the boundary Let f be a facet of C. A point p is said to be beyond f if p and C d+1 See Figure 4(a). Define the soeftHovfarraeyisn tohnaet-to-roigneincaotrereaspt ovndaenndcepwiastsh the edgwiestihn ov’rsiesntatration tleiestosnoonppdos+ite2spidoeisnotsf tihne Eaffine(hwhulleorfeifn. vThies baelwneaayths-beyond of Hv are in one-to-one correspondence with the edges in v’s star lie on opposite sides of the affine hull of f . The beneath-beyond through other vertices of V, naandmtehleyveRrti=cesvi"nwv’:swlink. V v . Let Hv one of those poinatslg)o. rithm adds a vertex w and transforms C into conv(C w) by and the vertices in v’s link. { algorith∈m ad\{ds }a}vertex w and transforms C into conv(C w) by be the convex hull of the rays LRe,t hillbuesatrhaytpeedrpilnanFeitghuatresep4a(rba)te.s Hv froims all the other vertices finding and deleting every facet of C that w is beyond, then ∪creating Let h be a hyperplane that separates v from all the other vertices finding and deleting evevry facet of C thTathweistbaenydoanrdd, tihnecnr∪cermeaetinntgal insertion method for updating a convex a polyhedral cone with verteixn vV,ainlldustHrated iHn F.iguTrhee4(sct)a. rThoefcvrowrss-saepcstion P = Hv h = H h new facets that attach w to every ridge of C that adjoins exactly one in V, illustrated in Figure 4(c). The cross-section P = Hv h = H h nvew facets that attach w to every ridgheuo∩llf Cistthhae∩t abdejonienastehx-abcetlyoonnde method of Kallay [17], which adds one ∩is a d-p∩olytop⊂e, namely the convex hull of the intersection points surviving facet. is a d-polytope, namealyrothuencdonthvextihpullooffHthveliinktersaecptiaopneprosinhtesll arousunrdviavinngicfeacectr.eam cone. "r h : r R . The face lattice of P’s boundary is insoemwovrpehritcexto(or ray)Tahtisaidtiema weoarnksdwhmeatihnetraCiniss afctoenrvexachhullaodfdpiotiiontns othrea convex "r h : r R . The fTacheelastttaicreiosfcPo’ms bboiunnadtaorryiaislliysoem{qou∩ripvhailcetnot∈to}the cTohnisei’dseabowuonrkdsawhry:eththereC is a convex hull of points or a convex { ∩ ∈ } the face lattice of v’s link. convex hull of thehuvlleortfircaeyss (wiorthraycso)mpmroonceosrisgeind vs.oTfhaer.laLtteertcCircbuemstthaence is il- the face lattice of v’s link. hull of rays with a common origin v. The latter circumstance is il- face lattice for the proper facesTohfe Hcevntirsalisoobmseorvraptihoincitsoththatethfaesceetlharte-e problemcosnavre xeshseunl-l at a lfiuxsteradtemd ionmFiegnutrein5. tTimheerebiseotwene iemnpovretartnetxalginorsiethrmtioicndsi.fference The central observation is that these three problems are essen- lustrated in Figure 5. There is one important algorithmic difference tice for the star of v. In the istoiamllyorepqhuivsamle,nt:hecormaypsutoinng tthhe sbtoaruonrdlainryk of v in Ltheetbfoubnedaaryfacet obfetCwe. eAn thpeosienttwpo cisircsuamidstatoncbese: baeryayoncadn flieifbepyoannddeCvery facet tially equivalent: comopfutHing athreesitnaroonr eli-ntok-oofnveicnotrhreeobsfpotuhonend(dadery+nc1e)-widimbthentwetshioennaeltdhcgeosenesvtewixnohvcui’lrslcHusmt,acsrtoamncpeust:inagrtahyec(adn+lie1)b-eyond eovfetrhyefaccoente C, meaning that the convex hull of the rays is Ed+1. of the (d + 1)-dimensional cvonvex hull H, computing the (d + 1)- of the cone C, meaning that the colineveoxnhuolpl poof sthiteersaiydseiss oEfd+t1h. e affine hull of f . The beneath-beyond and the vertices in v’s link. algorithm adds a vertex w and transforms C into conv(C w) by Let h be a hyperplane that separates v from all the other vertices finding and deleting every facet of C that w is beyond, then ∪creating in V, illustrated in Figure 4(c). The cross-section P = Hv h = H h new facets that attach w to every ridge of C that adjoins exactly one ∩ ∩ is a d-polytope, namely the convex hull of the intersection points surviving facet. "r h : r R . The face lattice of P’s boundary is isomorphic to { ∩ ∈ } This idea works whether C is a convex hull of points or a convex the face lattice of v’s link. hull of rays with a common origin v. The latter circumstance is il- The central observation is that these three problems are essen- lustrated in Figure 5. There is one important algorithmic difference tially equivalent: computing the star or link of v in the boundary between these two circumstances: a ray can lie beyond every facet of the (d + 1)-dimensional convex hull H, computing the (d + 1)- of the cone C, meaning that the convex hull of the rays is Ed+1. Manifold reconstruction algorithm

Algorithm 1 Manifold reconstruction(P = p ,..., p , η ) { 0 n} 0 // Initialization for i = 1 to n do calculate the local neighborhood LN(pi) for i = 1 to n do ω(p ) 0 i ← Build the full unweighted complex Kω(P) = Delω ( ) S IC TM P // Weight assignment to remove inconsistencies for i = 1 to n do ω(pi) weight(pi, ω) ← ω update K (P) // (locally in LN(pi)

output : Mˆ Delω (P) ← TM

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 37 / 54 Hypotheses

M is a differentiable submanifold of positive reach of dim. k Rd ⊂ is an ε-net of M for a small enough ε P

Theorem Under the Hypotheses, the algorithm terminates and Mˆ contains no inconsistent configurations

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 38 / 54 Mˆ is a PL simplicial k-manifold

Lemma Let P be an ε-sample of a manifold M and let p P. The link of any ∈ vertex p in Mˆ is a topological (k 1)-sphere − Proof : 1. Since Mˆ contains no inconsistencies, the star of any vertex p in Mˆ is identical to starp, the star of p in Delp(P)

d 2. Delp(P) R Del(ψp(P)) Tp starp starp(p) ⊂ ≈ ⊂ ⇒ ≈

3. starp(p) is a k-dimensional triangulated topological ball (general position)

4. p cannot belong to the boundary of starp(p)

(the Voronoi cell of p = ψp(p) in Vor(ψp(P)) is bounded)

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 39 / 54 Guarantees

Approximation guarantees

Mˆ is a PL simplicial k-manifold Mˆ tub(M, O(ε2)rch(M)) ⊂ The angles between the facets and the tangent spaces of M are O(ε) Mˆ is homeomorphic to M

Complexity of the algorithm

No d-dimensional data structure linear in d ⇒ exponential in k

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 40 / 54 Reconstructing a Riemannian surface in R8

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 41 / 54 1 The reconstruction problem

2 Distance functions and homotopy reconstruction

3 Delaunay-type simplicial complexes and homeomorphic submanifold reconstruction

4 Mesh generation of surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 42 / 54 Restricted Delaunay triangulation [Chew 93]

Definition The restricted Delaunay triangulation Del ( ) to X P X Rd is the nerve of ⊂ Vor(P) X ∩

If P is an ε-sample, any ball centered on X that circumscribes a facet f of

DelX( ) has a radius ε lfs(c ) P ≤ f

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 43 / 54 Restricted Delaunay triangulation [Chew 93]

Definition The restricted Delaunay triangulation Del ( ) to X P X Rd is the nerve of ⊂ Vor(P) X ∩

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 44 / 54 Delaunay triang. restricted to surfaces

[Amenta et al. 1998-], [B. & Oudot 2005]

If R3 is a compact surface of positive S ⊂ reach without boundary is an ε-net, ε small enough P then

Del S( ) provides good estimates of | S normals There exists a homeomorphism φ : Del S( ) | P → S sup ( φ(x) x ) = O(ε2) x k − k

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 45 / 54 Good sampling implies angle and thickness bounds for Thickness and angle bounds are automatic for trianglestrianglesThickness and angle bounds for triangles

c

h b R

a

abab acac hh==abab sinsinbb == × ⇥× 22RR 2 2 22 h h h h φ0 φ¯0 Θ(⇥abc(abc) =)=2∆2 4R 4R 32R 82 32=ε rch8 ( ) ≥ ≥ ≥ S ¯ sin b φ=0 sin b 22ε rch( 2) ≥ S

ComputationalAlgorithmic Geometry Geometry and Topology SubmanifoldMesh generation Reconstruction J-D.J-D. Boissonnat Boissonnat 17 / 28 46 / 54 Computational Geometry Learning Manifold Reconstruction MPRI, Lecture 5 18 / 67 Surface mesh generationContext by and Delaunay Motivation refinement Delaunay refinement[Chew meshing 1993, B. & engine Oudot 2003]

The algorithms refines: φ : S R = Lipschitz function → x S, 0 φ(cf ) (radius-egde ratio)

Required oracle on domain to be meshed point location in domain and subdomains Algorithm • INIT computeintersection an initial detection/computation (small) sample between0 S boundary surfaces • and segments (Delaunay edges) P ⊂ REPEAT IF f is a bad facet insert in Del3D(cf ) ,

update and Del S( ) | PA-MY (INRIA Geometrica)P P CGALmesh ARC-ADT-AE-2010 9 / 36 UNTIL no bad facet remains

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 47 / 54 The meshing algorithm in action

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 48 / 54 Applications

Implicit surfaces f (x, y, z) = 0 Isosurfaces in a 3d image (Medical images) Triangulated surfaces (Remeshing) Point sets (Surface reconstruction)

see cgal.org, CGALmesh project

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 49 / 54 Results on smooth implicit surfaces

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 50 / 54 CGALmesh Achievements Meshing 3D domains Input from segmented 3D medical images

[INSERM] [SIEMENS]

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 22 / 36

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 51 / 54 Comparison with the Marching Cube algorithm

Delaunay refinement Marching cube

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 52 / 54 CGALmesh Achievements Meshing with sharp features Apolyhedralexample

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 30 / 36

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 53 / 54 CGALmesh Achievements Meshing 3D multi-domains Input from segmented 3D medical images [IRCAD]

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 21 / 36

Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 54 / 54 Surface reconstruction from unorganized point sets

Courtesy of P. Alliez Computational Geometry and Topology Submanifold Reconstruction J-D. Boissonnat 55 / 54