You are on page 1of 45

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?
• Analysis
How to determine connectivity?
• Articulation
How to describe connectivity?
• Control
How 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 f 2 f 
 2 (p) (p) 
x xy
Hessian f (p)   2 
 f 2 f 
 (p) 2
(p) 
 yx y 
Critical Point Index
• The index of a critical point is the number of
negative eigenvalues of the Hessian:
– 0  minimum
ind=2
– 1  saddle point
– 2  maximum
ind=1

• Intuition: the number ind=1


of independent
directions in which
ind=0
f decreases
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

c Mc ~
M with -cell
attached 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
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!

g (p)   geodist(p, q) dS
M

g (p)  min qM g (q)


f (p) 
max qM g (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
min

splitting
saddle
max max

You might also like