490 likes | 1.42k Views
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
E N D
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 R20form ∂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
= 2 = 0 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
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 fh • 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
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=2 ind=1 ind=1 ind=0
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.
Mc Mc with -cell attached 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 Mcwith -cell attached. Mc+ Mc ~ Mc+
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
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!
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