Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

Topological Algorithm

David Gu1
1 Mathematics

Science Center Tsinghua University

Tsinghua University

David Gu

Conformal Geometry

Algebraic Topology

David Gu

Conformal Geometry

orientation

Suppose Ck , = [v0 , v1 , , ck ] Let p be a permutation, then if {p(0), p(1), , p(k)} differs from {0, 1, , k} by even number of swaps, then [vp(0) , vp(1) , , vp(k ) ] has the same orientation with ; if they differ by an odd number of swaps, then [vp(0) , vp(1) , , vp(k ) ] = 1 .

David Gu

Conformal Geometry

Computing Homology basis

Suppose M is a triangle mesh, with vertices, edges and faces V , E , F respectively. Given two simplices i Ck , j Ck 1 , denote the adjacency number, +1 j i 1 j1 i [i , j ] = 0 j i = 0 /

David Gu

Conformal Geometry

Computing Homology basis

V = {vi } form the basis of C0 , E = {ej } form the basis of C1 , F = {fk } form the basis of C2 . 1 : C1 C0 and 2 : C2 C1 are linear maps, and represented as matrices.

2 = ([fk , ej ]), 1 = ([ej , vi ]).


construct the following linear operator : C1 C1 ,
T T = 2 2 + 1 1 ,

the eigen vectors corresponding to zero eigen values are the basis of H1 (, ).

David Gu

Conformal Geometry

Computing Homology basis


Denition (Cut Graph) A cut graph G of a mesh is a graph formed by non-oriented edges of , such that /G is a topological disk.

Figure: Cut graph

David Gu

Conformal Geometry

Cut Graph

Algorithm:Cut graph Input: A triangular mesh . Output: A cut graph G


1

2 3

Compute the dual mesh , each edge e has a unique dual edge e . Compute a spanning tree T of . The put graph is the union of all edges whose dual edges are in T . G = {e e T }.

David Gu

Conformal Geometry

Wedge
Denition (Wedge) On a face f , a corner at vertex v is denoted as a pair (f , v), and represented using halfedge data structure. Given a vertex v, the corners adjacent to it are ordered counter-clockwisely. A maximal sequence of adjacent corners without sharp edges form a wedge.

Figure: Cut graph


David Gu Conformal Geometry

Fundamental Domain

Algorithm: Fundamental Domain Input: A mesh and a cut graph G. Output: A fundamental domain .
1

Compute the cut graph G of , label all the edges in G as sharp edges. Compute the wedges of formed by sharp edges. Construct an empty mesh . For each wedge w insert a vertex into . For each face f = [v0 , v1 , v2 ] in , insert a face = [w0 , w1 , w2 ] into , such that the corner (f , vk ) belongs f to the wedge wk , (f , vk ) wk .

2 3 4 5

David Gu

Conformal Geometry

Fundamental Domain

input mesh

cut graph

fundamental domain

Figure: Fundamental domain

David Gu

Conformal Geometry

Homology basis
Theorem (Homology basis) Suppose is a closed mesh, G is a cut graph of , then the basis of loops of G (assigned with an orientation) is also a homology basis of . Proof. The computation of the cut graph in fact nd a CW-cell decomposition = G D2 , where D2 is a 2-cell. Suppose {1 , 2 , , n } are the loop basis of G, D2 is a loop in G, which is represented as a word in 1 (G), then 1 () = 1 , 2 , , n D2 .

David Gu

Conformal Geometry

Homology basis

Algorithm: Loop basis for a graph G Input: A graph G. Output: A basis of loops of G.
1 2 3 4

Compute a spanning tree T of G. G/T = {e1 , e2 , , en }. ei T has a unique loop, denoted as i . {1 , 2 , , n } form a basis of 1 (G).

David Gu

Conformal Geometry

Homology Basis

Figure: Homology basis


David Gu Conformal Geometry

Universal Covering Space


Algorithm: Universal covering space Input: A mesh . Output: A nite portion of the universal cover .
1

3 4

Compute a cut graph G of . We call a vertex on G with valence greater than 2 a knot. The knots divide G to segments, assign an orientation to each segment, label the segments as {s1 , s2 , , sn }. Compute a fundamental domain , induced by G, whose boundary is composed of sk s. Initialize , , represented using sk s. Glue one copy of to the current along only one segment sk , sk , sk . Update , if sk are adjacent in , glue them. Repeat this step, until there is no adjacent sk in the boundary . Repeat gluing copies of until is large enough.
David Gu Conformal Geometry

Universal Covering Space

input mesh

one fundamental domain


Figure: universal covering space

universal cover

David Gu

Conformal Geometry

Cohomology Basis

Algorithm: Cohomology Basis Input: A homology basis {1 , 2 , , n } Output: A cohomology basis {1 , 2 , , n }


1

+ Set a 0-form fk : k , such that v k , fk (v) = 1; v k , fk (v) = 0.

select k , slice the mesh open along k , to get an open + mesh k , k = k k .

0 fk is dened on k , because it is consistent on the + corresponding edges on k and k , so it is well dened on as well.

David Gu

Conformal Geometry

Double Covering

Algorithm: Double Cover Input: An open mesh with boundaries. Output: The double covering of the mesh, which is a closed symmetric mesh.
1 2

construct a copy of the input mesh reverse the orientation of the copy, each [v0 , v1 , v2 ] is converted to [v1 , v0 , v2 ]. Identify each boundary vertex in with the corresponding one in , each boundary halfedge e has a unique corresponding halfedge e . glue the corresponding boundary halfedges to the same boundary edge.

David Gu

Conformal Geometry

double cover

Figure: Double Covering

David Gu

Conformal Geometry

You might also like