45
Computational Topology for Computer Graphics Klein bottle

Computational Topology for Computer Graphics Klein bottle

Embed Size (px)

Citation preview

Computational Topology for

Computer Graphics

Klein bottle

What is Topology?

• The topology of a space is the definition of a collection of sets (called the open sets) that include:– the space and the empty set

– the union of any of the sets

– the finite intersection of any of the sets

• “Topological space is a set with the least structure necessary to define the concepts of nearness and continuity”

No, Really.What is Topology?

• The study of properties of a shape that do not change under deformation

• Rules of deformation– Onto (all of A all of B)– 1-1 correspondence (no overlap)– bicontinuous, (continuous both ways)– Can’t tear, join, poke/seal holes

• A is homeomorphic to B

Why Topology?

• What is the boundary of an object?

• Are there holes in the object?

• Is the object hollow?

• If the object is transformed in some way, are the changes continuous or abrupt?

• Is the object bounded, or does it extend infinitely far?

Why Do We (CG) Care?

The study of connectedness• Understanding

How connectivity happens?

• AnalysisHow to determine connectivity?

• ArticulationHow to describe connectivity?

• ControlHow to enforce connectivity?

For Example

How does connectedness affect…• Morphing• Texturing• Compression• Simplification

Problem: Mesh Reconstruction

• Determines shape from point samples

• Different coordinates, different shapes

Topological Properties

• To uniquely determine the type of homeomorphism we need to know :– Surface is open or closed

– Surface is orientable or not

– Genus (number of holes)

– Boundary components

Surfaces

• How to define “surface”?

• Surface is a space which ”locally looks like” a plane:

– the set of zeroes of a polynomial equation in three variables in R3 is a 2D surface: x2+y2+z2=1

Surfaces and Manifolds

• An n-manifold is a topological space that “locally looks like” the Euclidian space Rn – Topological space: set properties– Euclidian space: geometric/coordinates

• A sphere is a 2-manifold• A circle is a 1-manifold

Open vs. Closed Surfaces

• The points x having a neighborhood homeomorphic to R2 form Int(S) (interior)

• The points y for which every neighborhood is homeomorphic to R2

0 form ∂S (boundary)

• A surface S is said to be closed if its boundary is empty

Orientability

• A surface in R3 is called orientable, if it is possible to distinguish between its two sides (inside/outside above/below)

• A non-orientable surface has a path which brings a traveler back to his starting point mirror-reversed (inverse normal)

Orientation by Triangulation

• Any surface has a triangulation

• Orient all triangles CW or CCW

• Orientability: any two triangles sharing an edge have opposite directions on that edge.

Genus and holes• Genus of a surface is the maximal number

of nonintersecting simple closed curves that can be drawn on the surface without separating it

• The genus is equivalent to the number of holes or handles on the surface

• Example: – Genus 0: point, line, sphere– Genus 1: torus, coffee cup– Genus 2: the symbols 8 and B

Euler characteristic function

• Polyhedral decomposition of a surface (V = #vertices, E = #edges, F = #faces)

(M) = V – E + F

– If M has g holes and h boundary components then(M) = 2 – 2g – h

–(M) is independent of the polygonization

= 1 = 2 = 0

Summary: equivalence in R3

• Any orientable closed surface is topologically equivalent to a sphere with g handles attached to it– torus is equivalent to a sphere

with one handle ( =0, g=1)

– double torus is equivalent to a sphere with two handles ( =-2 , g=2)

Hard Problems… Dunking a Donut

• Dunk the donut in the coffee!

• Investigate the change in topology of the portion of the donut immersed in the coffee

Solution: Morse Theory

Investigates the topology of a surface by the critical points of a real function on the surface

• Critical point occur where the gradient f = (f/x, f/y,…) = 0

• Index of a critical point is # of principal directions where f decreases

Example: Dunking a Donut• Surface is a torus• Function f is height• Investigate topology of f h

• Four critical points– Index 0 : minimum– Index 1 : saddle– Index 1 : saddle– Index 2 : maximum

• Example: sphere has a function with only critical points as maximum and a minimum

How does it work? Algebraic Topology

• Homotopy equivalence– topological spaces are varied, homeomorphisms

give much too fine a classification to be useful…

• Deformation retraction

• Cells

Homotopy equivalence

• A ~ B There is a continuous map between A and B

• Same number of components• Same number of holes• Not necessarily the same dimension• Homeomorphism Homotopy

~ ~

Deformation Retraction

• Function that continuously reduces a set onto a subset

• Any shape is homotopic to any of its deformation retracts

• Skeleton is a deformation retract of the solids it defines

~ ~ ~~

Cells

• Cells are dimensional primitives• We attach cells at their boundaries

0-cell 1-cell 2-cell 3-cell

Morse function

• f doesn’t have to be height – any Morse function would do

• f is a Morse function on M if:– f is smooth

– All critical points are isolated

– All critical points are non-degenerate:• det(Hessian(p)) != 0

2 2

2

2 2

2

( ) ( )

( )

( ) ( )

f f

x x yHessian f

f f

y x y

p p

p

p p

Critical Point Index

• The index of a critical point is the number of negative eigenvalues of the Hessian:– 0 minimum

– 1 saddle point

– 2 maximum

• Intuition: the number of independent directions in which f decreases ind=0

ind=1

ind=1

ind=2

If sweep doesn’t pass critical point[Milnor 1963]• Denote Ma = {p M | f(p) a} (the sweep

region up to value a of f )• Suppose f 1[a, b] is compact and doesn’t

contain critical points of f. Then Ma is homeomorphic to Mb.

Sweep passes critical point[Milnor 1963]• p is critical point of f with index , is

sufficiently small. Then Mc+ has the same homotopy type as Mc with -cell attached.

Mc

Mc+

Mc Mc

with -cellattached

~

Mc+

This is what happened to the doughnut…

What we learned so far

• Topology describes properties of shape that are invariant under deformations

• We can investigate topology by investigating critical points of Morse functions

• And vice versa: looking at the topology of level sets (sweeps) of a Morse function, we can learn about its critical points

Reeb graphs

• Schematic way to present a Morse function

• Vertices of the graph are critical points

• Arcs of the graph are connected components of the level sets of f, contracted to points

2

1

1

1

1

1

0 0

Reeb graphs and genus

• The number of loops in the Reeb graph is equal to the surface genus

• To count the loops, simplify the graph by contracting degree-1 vertices and removing degree-2 vertices

degree-2

Another Reeb graph example

Discretized Reeb graph

• Take the critical points and “samples” in between

• Robust because we know that nothing happens between consecutive critical points

Reeb graphs for Shape Matching

• Reeb graph encodes the behavior of a Morse function on the shape

• Also tells us about the topology of the shape• Take a meaningful function and use its

Reeb graph to compare between shapes!

Choose the right Morse function

• The height function f (p) = z is not good enough – not rotational invariant

• Not always a Morse function

Average geodesic distance

• The idea of [Hilaga et al. 01]: use geodesic distance for the Morse function!

( ) geodist( , )

( ) min ( )( )

max ( )

M

M

M

g dS

g gf

g

q

q

p p q

p qp

q

Multi-res Reeb graphs

• Hilaga et al. use multiresolutional Reeb graphs to compare between shapes

• Multiresolution hierarchy – by gradual contraction of vertices

Mesh Partitioning

• Now we get to [Zhang et al. 03]• They use almost the same f as [Hilaga et al.

01]• Want to find features = long protrusions• Find local maxima of f !

Region growing

• Start the sweep from global minimum (central point of the shape)

• Add one triangle at a time – the one with smallest f

• Record topology changes in the boundary of the sweep front – these are critical points

Critical points – genus-0 surface

• Splitting saddle – when the front splits into two

• Maximum – when one front boundary component vanishes

max max

splittingsaddle

min