Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner.

Similar presentations


Presentation on theme: "Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner."— Presentation transcript:

1 Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner

2 2/52 Department of Computer Science and Engineering Projects in Jyamiti group Surface reconstrucion (Cocone) Delaunay meshing (DelPSC) Shape feature processing (Segmatch, Cskel)

3 3/52 Department of Computer Science and Engineering Handle loops/Tunnel loops

4 4/52 Department of Computer Science and Engineering Handle loops/Tunnel loops

5 5/52 Department of Computer Science and Engineering Topological Simplification

6 6/52 Department of Computer Science and Engineering Use of Handles and Tunnels Topological simplification / feature recognition / parameterization El-Sana and Varshney[1997] use α-hulls to search for tunnels. Guskov and Wood[2001] propose a surface growing strategy to remove small handles. Nooruddin and Turk[2003] use morphological operations to remove small handles. Wood, Hoppe, Desbrun, and Schroder[2004] use Reeb graph to remove handles. Shattuck and Leahy[2001] use Reeb graph to compute handles. From WUSTL Model/surface editing (Zhou, Ju, and Hu[2007] use medial axis to detect loops) and work by Grimm et al.

7 7/52 Department of Computer Science and Engineering Nontrivial loops can neither be handle nor tunnel. Handle and tunnel loops have to be non- separating. Nontrivial loops as first attempt?

8 8/52 Department of Computer Science and Engineering Loops on a surface Compute polygon schemas [Vegter-Yap90][Dey-Schipper95] Linear time algorithm Compute optimal systems of loops [VL05][EW06] Verdiere and Lazarus gave an algorithm for computing a system of loops which is shortest among the homotopy class of a given one. Erickson and Whittlesey gave a greedy algorithm to compute the shortest system of loops among all systems of loops. Compute optimal cut graph [EH04] Computing a shortest cut graph is NP-hard. Related work for loops on surface

9 9/52 Department of Computer Science and Engineering A better idea Intuitively, a loop on a connected, closed, surface M in R 3 is: handle if it spans a disk (surface) in the bounded space bordered by M. tunnel if it spans a disk (surface) in the unbounded space bordered by M.

10 10/52 Department of Computer Science and Engineering Cycle, Boundary and Homology p-chain: c=  a i  i,  i is p-simplex. (e 2 +e 3 +e 4 ) is a 1-chain. If c'=  a i '  i, then c+c'=  (a i +a i ')  i. c + c = 0 for Z 2 coefficients. Boundary operator  p  =  [v 0,v 1,…,v p ] =  i=0 p [v 0,…,~v i,…,v p ] e.g.:  t = (e 2 +e 3 +e 4 ) e.g.:  e 0 +  e 1 +  e 4 = (v 0 +v 2 )+(v 0 +v 1 )+(v 1 +v 2 ) = 0

11 11/52 Department of Computer Science and Engineering Cycle, Boundary and Homology p-cycle: if  p c = 0. p-boundary: if there’s (p+1)-chain d, s.t. c=  p d. p-cycle group Z p = kernel (  p ). p-boundary group B p = image (  p+1 ). H p = Z p / B p Each element of H p represents an equivalent class. c 1 and c 2 are in the same class if c 1 + c 2 is in B p. Trivial elements in H p bounds (p+1)-chain

12 12/52 Department of Computer Science and Engineering Simplicial Homology Group The k-th homology group H k (K) is the quotient group: Z k /B k. It records the information of non- bounding (not filled) k-cycles. H 1 (K) contains non-bounding 1-cycles.

13 13/52 Department of Computer Science and Engineering Homomorphisms f: X → Y ⇨ f * : H k (X) → H k (Y) X ⊆ Y ⇨ i * : H k (X) → H k (Y)

14 14/52 Department of Computer Science and Engineering Mayer-Vietoris sequence H k (X ∪ Y) ϕ 1  H k-1 (X ∩ Y) ϕ 2  H k-1 (X) ⊕ H k-1 (Y) ϕ 3  H k-1 (X ∪ Y) Ker( ϕ i ) = Im( ϕ i-1 ) Homomorphisms

15 15/52 Department of Computer Science and Engineering Notations/Definitions Notations: M : a connected closed surface in R 3. I : the bounded set enclosed by M including M. O : the unbounded set i * : H 1 ( M )  H 1 ( O ) and i * : H 1 ( M )  H 1 ( I ) tunnel loop: trivial in H 1 ( O ) and non- trivial in H 1 ( I ). handle loop: trivial in H 1 ( I ) and non- trivial in H 1 ( O ).

16 16/52 Department of Computer Science and Engineering Handle and tunnel loops – definitions [Dey-Li-Sun 07] Let M be a connected, closed, surface in R 3. M separates R 3 into inside I and outside O. Both I and O have M as boundary. Handle: A loop on M whose homology class is trivial in H 1 ( I ) and non-trivial in H 1 ( O ). Tunnel: A loop on M whose homology class is trivial in H 1 ( O ) and non-trivial in H 1 ( I ).

17 17/52 Department of Computer Science and Engineering Consider a thickened trefoil handle loop (green) tunnel loop (red) Nasty knots

18 18/52 Department of Computer Science and Engineering Handle and tunnel loops – existence Theorem ( Dey, Li, Sun[2007] ) For any connected closed surface M of genus g in R 3, there exist g handle loops {h i } i=1…g forming a basis for H 1 ( O ) and g tunnel loops {t i } i=1...g forming a basis for H 1 ( I ). Furthermore, {h i } i=1...g and {t i } i=1...g form a basis for H 1 ( M ).

19 19/52 Department of Computer Science and Engineering First algorithm for GR models [Dey-Li-Sun 07] Graph retractability assumption : A surface is graph retractable if both I and O deformation retract to a graph, denoted I and O, respectively.

20 20/52 Department of Computer Science and Engineering I and O are disjoint core graphs, each with g loops : {K j I } j=1 g and {K j O } j=1 g and {K j } j=1 2g all together. How to compute I and O ? Inner and outer cores

21 21/52 Department of Computer Science and Engineering Linking number J and K are two disjoint loops in R 3. In a regular projection, there are two ways in which J crosses under K. The linking number, lk(K, J), is the sum of these signed crossings.

22 22/52 Department of Computer Science and Engineering Linking number Theorem A loop  on M is a handle iff lk( , K i I )  0 for at least one inner core and lk( , K i O )=0 for all outer cores. A loop  on M is a tunnel iff lk( , K i O )  0 for at least one outer core and lk( , K i I )=0 for all inner cores.

23 23/52 Department of Computer Science and Engineering Minimally linked basis A loop is minimally linked if it links once only with one core loop. Theorem : There exist 2g minimally linked loops, denoted {J j } j=1 2g, such that lk(K i, J j )=  ij. Half of them linked with K i I ’s, denoted {J j I } j=1 g, are handle loops. Other half linked with K i O ’s, denoted {J j O } j=1 g, are tunnel loops. {[J j I ]} j=1 g form a basis for H 1 ( I ) and {[J j O ]} j=1 g form a basis for H 1 ( O ). Hence {[J j ]} j=1 2g form a basis for H 1 ( M ).

24 24/52 Department of Computer Science and Engineering Topological algorithm Assume I and O are given. Step1: Compute {K i } i=1 2g using the spanning tree of I and O. Step2: Compute a system of 2g loops on M, denoted {  j } j=1 2g. (say by Dey-Schipper or Vegter-Yap linear time algorithms) Step3: Compute lk(K i,  j ) for all i and j. Let A be the 2gx2g matrix {lk(K i,  j )}. A is the transform matrix from a minimally linked basis {[J j ]} j=1 2g to basis {[  j ]} j=1 2g. A -1 = {a ji } exists and has integer entries. [J j ] =  i=1 2g a ji [  i ]. Step4: Obtain J j by concatenating  i ’s according to the above expression.

25 25/52 Department of Computer Science and Engineering An implementation to compute system of handle and tunnel loops with small size Compute I and O Basic idea: Collapse the inside (outside) Voronoi diagram to obtain I ( O ). The curve-skeleton [Dey-Sun06] captures the geometry better. Each skeleton edge (e) gets associated with an additional value called geodesic size (g(e)) indicating the local size of M. Establish graph structure on the curve skeleton. The geodesic size for a graph edge, g(E) = min{g(e): e is a skeleton edge in E}. Issue: not always work for any graph retractable surface, e.g., a thickening of a house with two room.

26 26/52 Department of Computer Science and Engineering Core graphs by curve-skeletons [DS05]

27 27/52 Department of Computer Science and Engineering An implementation to compute system of handle and tunnel loops with small size Compute core loops {K j } j=1 2g Compute the maximal spanning tree for I and O using geodesic sizes as weight. Add the remaining edges, E i ’s, to form K i ’s. Compute minimally linked {J j } j=1 2g Basic idea: compute J i ’s at different location indicated by E i ’s. Let e be the skeleton edge with the smallest geodesic size in E i. Let p be one of the vertices of the dual Delaunay triangle of e. Compute an optimal system of loops by geodesic exploration and apply topological algorithm. In our experiments, one of the loop in the system of loops itself satisfies the condition to be J i ’s.

28 28/52 Department of Computer Science and Engineering Results

29 29/52 Department of Computer Science and Engineering A Persistence based algorithm [Dey-Li-Sun-Cohen-Steiner 08] A fast algorithm based on persistent homology introduced by Edelsbrunner, Letscher, Zomorodian[2002]. The algorithm does not require any extra structure such as medial axis, curve skeleton, or Reeb graphs. It works on a larger class of models. Both surface mesh and isosurface with volume grids can be input.

30 30/52 Department of Computer Science and Engineering Filtration in persistent homology Filtration of a simplicial complex K is a nested sequence of complexes: 0 = K -1 < K 0 < K 1 < …< K n = K Assume K i - K i-1 =  i Persistence homology studies how the homology groups change over the filtration. In our algorithm, we use the pairing concept in the persistent homology.

31 31/52 Department of Computer Science and Engineering Positive and Negative simplices Once a p-simplex  is added to K i-1, it is Positive if it creates a non-boundary p-cycle. Negative if it kills an existing (p-1)-cycle. A negative p-simplex  is always paired with a unique positive (p-1)-simplex  ' where  kills a (p-1)-cycle created by  '.

32 32/52 Department of Computer Science and Engineering Positive and negative simplices

33 33/52 Department of Computer Science and Engineering Pairing algorithm – pair (  ) 1 ) c=  p  2) d is youngest positive (p-1)-simplex in c 3) while (d is paired and c  Φ) do Let c' be the cycle killed by the simplex paired with d c=c'+c d is the youngest positive (p-1)-simplex in c end while 4) if c is not empty, then  is negative p-simplex and paired with d else  is positive p-simplex.

34 34/52 Department of Computer Science and Engineering Pairing Algorithm – pair (  i ) Pairing algorithm

35 35/52 Department of Computer Science and Engineering Computing handle and tunnel loops Topological algorithm Two refinements for improving loop quality. Assume M, I, and O denote the simplicial complexes of surface, inside, and outside respectively; g is the genus of M.

36 36/52 Department of Computer Science and Engineering Topological algorithm 3 Steps: 1) Simplices of M are added to the filtration, generating 2g unpaired positive edges; 2) Simplices of I are added, g previously unpaired edges get paired, each pair corresponds to a handle loop; 3) Simplices of O are added, the rest of g unpaired edges get paired, each pair corresponds to a tunnel loop.

37 37/52 Department of Computer Science and Engineering Topological algorithm cont.

38 38/52 Department of Computer Science and Engineering Refinement 1 For a negative triangle , a series of homologous loops are obtained. Let L 1, L 2,…, L k be those that lie on M, sorted by the time when they are found. Set the handle (or tunnel) loop L (  ) for  as L 1.

39 39/52 Department of Computer Science and Engineering Refinement 2 A handle (or tunnel) loop is found when a cross section of M get filled. Cross sections of small size will get filled first if we add triangles in I and O to the filtration in increasing order of their geodesic sizes.

40 40/52 Department of Computer Science and Engineering Computing geodesics – for refinement 2 Geodesic size of an edge E =(A 1, A 2 ): geodesic distance between points A 1 ' and A 2 ' on M, where A i '=A i if A i is on M ; otherwise, A i ' is the closet point on M for A i Geodesic size size of a triangle t: max {g(e)|e is in t}

41 41/52 Department of Computer Science and Engineering Entire algorithm 1) Compute geodesic size for edges and triangles in I and O ; 2) For each simplex  on M, pair(  ); 3) E = unpaired positive edges on M ; 4) In the order of increasing geodesic size, pair(  ) for each triangle  in I ; 5) if (  is negative and its paired positive edge is in E), then output a handle: h i = L (  ); 6) Do similarly as 4) and 5) to get tunnels.

42 42/52 Department of Computer Science and Engineering Entire algorithm

43 43/52 Department of Computer Science and Engineering Gearbox (genus 78)

44 44/52 Department of Computer Science and Engineering Isosurface Fuel (genus 8)

45 45/52 Department of Computer Science and Engineering Isosurface (Engine, genus 20)

46 46/52 Department of Computer Science and Engineering Aneurysm

47 47/52 Department of Computer Science and Engineering Knotty cup and noise

48 48/52 Department of Computer Science and Engineering Experiments We implemented our algorithm in C++. All experiments were done on a Dell PC with 2.8GHz Intel Pentium D CPU and 1GB RAM.

49 49/52 Department of Computer Science and Engineering Feature Detection Compute handle (tunnel) features based on handle (tunnel) loops. Sweep the handle (tunnel) loop until the length become too long.

50 50/52 Department of Computer Science and Engineering Topological simplification

51 51/52 Department of Computer Science and Engineering Simplification (Buddha)

52 52/52 Department of Computer Science and Engineering A simple, topologically correct algorithm for handles and tunnels. Mathematical proof of geometric qualities of the loops? What about surfaces with boundaries? Handletunnel software available from http://www.cse.ohio-state.edu/~tamaldey/handle.html Conclusions and future work

53 53/52 Department of Computer Science and Engineering Pegasus (genus 5)

54 54/52 Department of Computer Science and Engineering 2-torus (genus 2)


Download ppt "Department of Computer Science and Engineering Computing handles and tunnels in 3D models Tamal K. Dey Joint work: Kuiyu Li, Jian Sun, D. Cohen-Steiner."

Similar presentations


Ads by Google