department of computer science and engineering computing handles and tunnels in 3d models tamal k....

Post on 24-Dec-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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/52Department of Computer Science and Engineering

Projects in Jyamiti group

• Surface reconstrucion (Cocone)• Delaunay meshing (DelPSC)• Shape feature processing (Segmatch,

Cskel)

3/52Department of Computer Science and Engineering

Handle loops/Tunnel loops

4/52Department of Computer Science and Engineering

Handle loops/Tunnel loops

5/52Department of Computer Science and Engineering

Topological Simplification

6/52Department 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/52Department 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/52Department 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/52Department of Computer Science and Engineering

A better idea

• Intuitively, a loop on a connected, closed, surface M in R3 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/52Department of Computer Science and Engineering

Cycle, Boundary and Homology

• p-chain: c=aii, i is p-simplex.

(e2+e3+e4) is a 1-chain.

• If c'=ai'i, then c+c'=(ai+ai')i.

• c + c = 0 for Z2 coefficients.

• Boundary operator p = [v0,v1,…,vp] = i=0

p[v0,…,~vi,…,vp]

• e.g.: t = (e2+e3+e4)

• e.g.: e0+ e1+ e4 = (v0+v2)+(v0+v1)+(v1+v2) = 0

11/52Department of Computer Science and Engineering

Cycle, Boundary and Homology

• p-cycle: if pc = 0.

• p-boundary: if there’s (p+1)-chain d, s.t. c=pd .• p-cycle group Zp = kernel (p).• p-boundary group Bp = image (p+1).• Hp= Zp / Bp

• Each element of Hp represents an equivalent class.

• c1 and c2 are in the same class if c1 + c2 is in Bp.• Trivial elements in Hp bounds (p+1)-chain

16/52Department of Computer Science and Engineering

Handle and tunnel loops – definitions [Dey-Li-Sun 07]

• Let M be a connected, closed, surface in R3. M separates R3 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 H1(I) and non-trivial in H1(O).

• Tunnel: A loop on M whose homology class is trivial in H1(O) and non-trivial in H1(I).

17/52Department of Computer Science and Engineering

• Consider a thickened trefoil• handle loop (green)• tunnel loop (red)

Nasty knots

18/52Department 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 R3, there exist g handle loops {hi}i=1…g forming a basis for H1(O) and g tunnel loops {ti}i=1...g forming a basis for H1(I).

• Furthermore, {hi}i=1...g and {ti}i=1...g form a basis for H1(M).

19/52Department 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/52Department of Computer Science and Engineering

• I and O are disjoint core graphs, each with g loops : {Kj

I}j=1g and {Kj

O}j=1g and {Kj}j=1

2g all together.

• How to compute I and O ?

Inner and outer cores

21/52Department of Computer Science and Engineering

Linking number

• J and K are two disjoint loops in R3. • 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/52Department of Computer Science and Engineering

Linking number Theorem

• A loop on M is a handle iff lk(, KiI) 0 for at

least one inner core and lk(, KiO)=0 for all outer

cores.

• A loop on M is a tunnel iff lk(, KiO) 0 for at

least one outer core and lk(, KiI)=0 for all inner

cores.

23/52Department 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 {Jj}j=1

2g, such that lk(Ki, Jj)=ij.

• Half of them linked with KiI’s, denoted {JjI}j=1

g, are handle loops.

• Other half linked with KiO’s, denoted {JjO}j=1

g, are tunnel loops.

• {[JjI]} j=1g form a basis for H1(I) and {[JjO]}j=1

g form a basis for H1(O). Hence {[Jj]}j=1

2g form a basis for H1(M).

24/52Department of Computer Science and Engineering

Topological algorithm• Assume I and O are given.

• Step1: Compute {Ki}i=12g using the spanning tree of I and

O.• Step2: Compute a system of 2g loops on M, denoted

{j}j=12g. (say by Dey-Schipper or Vegter-Yap linear time

algorithms)

• Step3: Compute lk(Ki, j) for all i and j. Let A be the 2gx2g matrix {lk(Ki, j)}.• A is the transform matrix from a minimally linked basis

{[Jj]}j=12g to basis {[j]} j=1

2g.

• A-1 = {aji} exists and has integer entries.

• [Jj] = i=12g aji[i].

• Step4: Obtain Jj by concatenating i’s according to the above expression.

25/52Department 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/52Department of Computer Science and Engineering

Core graphs by curve-skeletons[DS05]

27/52Department of Computer Science and Engineering

An implementation to compute system of handle and tunnel loops

with small size

• Compute core loops {Kj}j=12g

• Compute the maximal spanning tree for I and O using geodesic sizes as weight.

• Add the remaining edges, Ei’s, to form Ki’s.

• Compute minimally linked {Jj}j=1

2g

• Basic idea: compute Ji’s at different location indicated by Ei’s.

• Let e be the skeleton edge with the smallest geodesic size in Ei. 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 Ji’s.

28/52Department of Computer Science and Engineering

Results

29/52Department 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/52Department of Computer Science and Engineering

Filtration in persistent homology

• Filtration of a simplicial complex K is a nested sequence of complexes:

• 0 = K-1 < K0 < K1 < …< Kn = K

• Assume Ki - Ki-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/52Department of Computer Science and Engineering

Positive and Negative simplices

• Once a p-simplex is added to Ki-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/52Department of Computer Science and Engineering

Positive and negative simplices

33/52Department of Computer Science and Engineering

Pairing algorithm – pair ()

1) c=p2) d is youngest positive (p-1)-simplex in c3) 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 while4) if c is not empty, then

is negative p-simplex and paired with d else

is positive p-simplex.

35/52Department 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/52Department 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/52Department of Computer Science and Engineering

Topological algorithm cont.

38/52Department of Computer Science and Engineering

Refinement 1

• For a negative triangle , a series of homologous loops are obtained.

• Let L1, L2,…,Lk be those that lie on M, sorted by the time when they are found. Set the handle (or tunnel) loop L() for as L1.

39/52Department 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/52Department of Computer Science and Engineering

Computing geodesics – for refinement 2

• Geodesic size of an edge E =(A1, A2): geodesic distance between points A1' and A2' on M, where Ai'=Ai if Ai is on M; otherwise, Ai' is the closet point on M for Ai

• Geodesic size size of a triangle t: max {g(e)|e is in t}

41/52Department 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: hi = L();

• 6) Do similarly as 4) and 5) to get tunnels.

42/52Department of Computer Science and Engineering

Entire algorithm

43/52Department of Computer Science and Engineering

Gearbox (genus 78)

44/52Department of Computer Science and Engineering

Isosurface Fuel (genus 8)

45/52Department of Computer Science and Engineering

Isosurface (Engine, genus 20)

46/52Department of Computer Science and Engineering

Aneurysm

47/52Department of Computer Science and Engineering

Knotty cup and noise

48/52Department 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/52Department 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/52Department of Computer Science and Engineering

Topological simplification

51/52Department of Computer Science and Engineering

Simplification (Buddha)

52/52Department 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/52Department of Computer Science and Engineering

Pegasus (genus 5)

54/52Department of Computer Science and Engineering

2-torus (genus 2)

top related