Top Banner
Computational Topology for Computer Graphics Klein bottle
45

Computational Topology for Computer Graphics Klein bottle.

Dec 16, 2015

Download

Documents

Moses Phelps
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Computational Topology for Computer Graphics Klein bottle.

Computational Topology for

Computer Graphics

Klein bottle

Page 2: 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”

Page 3: Computational Topology for Computer Graphics Klein bottle.

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

Page 4: Computational Topology for Computer Graphics Klein bottle.

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?

Page 5: Computational Topology for Computer Graphics Klein bottle.

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?

Page 6: Computational Topology for Computer Graphics Klein bottle.

For Example

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

Page 7: Computational Topology for Computer Graphics Klein bottle.

Problem: Mesh Reconstruction

• Determines shape from point samples

• Different coordinates, different shapes

Page 8: Computational Topology for Computer Graphics Klein bottle.

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

Page 9: Computational Topology for Computer Graphics Klein bottle.

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

Page 10: Computational Topology for Computer Graphics Klein bottle.

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

Page 11: Computational Topology for Computer Graphics Klein bottle.

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

Page 12: Computational Topology for Computer Graphics Klein bottle.

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)

Page 13: Computational Topology for Computer Graphics Klein bottle.

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.

Page 14: Computational Topology for Computer Graphics Klein bottle.

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

Page 15: Computational Topology for Computer Graphics Klein bottle.

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

Page 16: Computational Topology for Computer Graphics Klein bottle.

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)

Page 17: Computational Topology for Computer Graphics Klein bottle.

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

Page 18: Computational Topology for Computer Graphics Klein bottle.
Page 19: Computational Topology for Computer Graphics Klein bottle.
Page 20: Computational Topology for Computer Graphics Klein bottle.
Page 21: Computational Topology for Computer Graphics Klein bottle.
Page 22: Computational Topology for Computer Graphics Klein bottle.
Page 23: Computational Topology for Computer Graphics Klein bottle.

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

Page 24: Computational Topology for Computer Graphics Klein bottle.

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

Page 25: Computational Topology for Computer Graphics Klein bottle.

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

Page 26: Computational Topology for Computer Graphics Klein bottle.

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

~ ~

Page 27: Computational Topology for Computer Graphics Klein bottle.

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

~ ~ ~~

Page 28: Computational Topology for Computer Graphics Klein bottle.

Cells

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

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

Page 29: Computational Topology for Computer Graphics Klein bottle.

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

Page 30: Computational Topology for Computer Graphics Klein bottle.

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

Page 31: Computational Topology for Computer Graphics Klein bottle.

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.

Page 32: Computational Topology for Computer Graphics Klein bottle.

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+

Page 33: Computational Topology for Computer Graphics Klein bottle.

This is what happened to the doughnut…

Page 34: Computational Topology for Computer Graphics Klein bottle.

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

Page 35: Computational Topology for Computer Graphics Klein bottle.

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

Page 36: Computational Topology for Computer Graphics Klein bottle.

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

Page 37: Computational Topology for Computer Graphics Klein bottle.

Another Reeb graph example

Page 38: Computational Topology for Computer Graphics Klein bottle.

Discretized Reeb graph

• Take the critical points and “samples” in between

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

Page 39: Computational Topology for Computer Graphics Klein bottle.

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!

Page 40: Computational Topology for Computer Graphics Klein bottle.

Choose the right Morse function

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

• Not always a Morse function

Page 41: Computational Topology for Computer Graphics Klein bottle.

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

Page 42: Computational Topology for Computer Graphics Klein bottle.

Multi-res Reeb graphs

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

• Multiresolution hierarchy – by gradual contraction of vertices

Page 43: Computational Topology for Computer Graphics Klein bottle.

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 !

Page 44: Computational Topology for Computer Graphics Klein bottle.

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

Page 45: Computational Topology for Computer Graphics Klein bottle.

Critical points – genus-0 surface

• Splitting saddle – when the front splits into two

• Maximum – when one front boundary component vanishes

max max

splittingsaddle

min