0% found this document useful (0 votes)
79 views72 pages

Simplicial Complexes

The document discusses the theory and implementation of simplicial complexes. It defines key concepts such as simplices, faces, and Euclidean simplicial complexes. A Euclidean simplicial complex is a finite set of Euclidean simplices that is closed under faces and where any two simplices intersect in either the empty set or a face. The document also discusses dimensions of simplices and simplex sets as well as subcomplexes.

Uploaded by

mobius
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views72 pages

Simplicial Complexes

The document discusses the theory and implementation of simplicial complexes. It defines key concepts such as simplices, faces, and Euclidean simplicial complexes. A Euclidean simplicial complex is a finite set of Euclidean simplices that is closed under faces and where any two simplices intersect in either the empty set or a face. The document also discusses dimensions of simplices and simplex sets as well as subcomplexes.

Uploaded by

mobius
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

Theory Meshes Implementation

Simplicial Complexes:
Theory and Implementation

Marek K. Misztal

Informatics and Mathematical Modelling, Technical University of Denmark


[email protected]

DSC 2011 Workshop


Kgs. Lyngby, 25th August 2011

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Affine independence

Definition (affine independce)


Let v1 , . . . , vp+1 be points in an n-dimensional Euclidean space E n .
We call them affinely dependent if
p+1 p+1
(∃µ1 , . . . , µp+1 ∈ R) ∑ µi = 1 ∧ ∑ µi vi = 0.
i =1 i =1

Otherwise, we call them affinely independent.

Examples:
• three non-colinear points in E 2 are affinely independent;
• four non-coplanar points in E 3 are affinely independent;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplex

Definition (Euclidean simplex)


Having p + 1 affinely independent points v1 , v2 , . . . , vp+1 ∈ E n , an
Euclidean simplex σ = hv1 , . . . , vp+1 i is a set of points given by a
formula:
v = α1 v1 + . . . + αp+1 vp+1 ,
where αi ≥ 0, ∑i αi = 1 (σ is the convex hull of v1 , . . . , vp+1 ).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplex

Definition (Euclidean simplex)


Having p + 1 affinely independent points v1 , v2 , . . . , vp+1 ∈ E n , an
Euclidean simplex σ = hv1 , . . . , vp+1 i is a set of points given by a
formula:
v = α1 v1 + . . . + αp+1 vp+1 ,
where αi ≥ 0, ∑i αi = 1 (σ is the convex hull of v1 , . . . , vp+1 ).

• σ is a closed set in E n .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplex

Definition (Euclidean simplex)


Having p + 1 affinely independent points v1 , v2 , . . . , vp+1 ∈ E n , an
Euclidean simplex σ = hv1 , . . . , vp+1 i is a set of points given by a
formula:
v = α1 v1 + . . . + αp+1 vp+1 ,
where αi ≥ 0, ∑i αi = 1 (σ is the convex hull of v1 , . . . , vp+1 ).

• σ is a closed set in E n .
• p is the dimension of σ (equivalently σ is an Euclidean
p-simplex).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplices

We call a 0-simplex a vertex, a 1-simplex an edge, a 2-simplex a face


and a 3-simplex a tetrahedron.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Faces

Definition (vertex, q-face)


We call each point vi a vertex of σ , and each simplex hvi1 , . . . , viq+1 i
(0 ≤ q ≤ p, 1 ≤ ik ≤ p + 1) a q-face of σ (or simply a face of σ , if no
ambiguity arises).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Faces

Definition (vertex, q-face)


We call each point vi a vertex of σ , and each simplex hvi1 , . . . , viq+1 i
(0 ≤ q ≤ p, 1 ≤ ik ≤ p + 1) a q-face of σ (or simply a face of σ , if no
ambiguity arises).

• We also call all the (p − 1)-faces of a p-simplex σ p its boundary


faces.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Faces

Definition (vertex, q-face)


We call each point vi a vertex of σ , and each simplex hvi1 , . . . , viq+1 i
(0 ≤ q ≤ p, 1 ≤ ik ≤ p + 1) a q-face of σ (or simply a face of σ , if no
ambiguity arises).

• We also call all the (p − 1)-faces of a p-simplex σ p its boundary


faces.
• The faces of σ that are not equal to σ itself are called its proper
faces.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Faces

Definition (vertex, q-face)


We call each point vi a vertex of σ , and each simplex hvi1 , . . . , viq+1 i
(0 ≤ q ≤ p, 1 ≤ ik ≤ p + 1) a q-face of σ (or simply a face of σ , if no
ambiguity arises).

• We also call all the (p − 1)-faces of a p-simplex σ p its boundary


faces.
• The faces of σ that are not equal to σ itself are called its proper
faces.
• The union of all the boundary faces of a simplex σ is called the
boundary of σ .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplex sets

• For arbitrary, finite set of simplices Σ we define its dimension, as


the maximum dimension of the simplices in Σ:

dim(Σ) = max{dim(σ ) : σ ∈ Σ}.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Simplex sets

• For arbitrary, finite set of simplices Σ we define its dimension, as


the maximum dimension of the simplices in Σ:

dim(Σ) = max{dim(σ ) : σ ∈ Σ}.

• We also define a k -subset of Σ as a set of all k-simplices in Σ:

filterk (Σ) = {σi ∈ Σ : dim(σi ) = k }.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Euclidean simplicial complex

Definition (Euclidean simplicial complex)


A finite set Σ of Euclidean simplices forms a (finite) Euclidean
simplicial complex if the following two conditions hold:
1. Σ is closed: for each simplex σ ∈ Σ, all faces of σ are also in Σ.
2. The intersection σi ∩ σj of any two simplices σi , σj ∈ Σ is either
empty or is a face of both σi and σj .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Euclidean simplicial complex

Definition (Euclidean simplicial complex)


A finite set Σ of Euclidean simplices forms a (finite) Euclidean
simplicial complex if the following two conditions hold:
1. Σ is closed: for each simplex σ ∈ Σ, all faces of σ are also in Σ.
2. The intersection σi ∩ σj of any two simplices σi , σj ∈ Σ is either
empty or is a face of both σi and σj .

• Any subset K0 ⊂ K that is itself a simplicial complex is called a


subcomplex of K.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Euclidean simplicial complex

Definition (Euclidean simplicial complex)


A finite set Σ of Euclidean simplices forms a (finite) Euclidean
simplicial complex if the following two conditions hold:
1. Σ is closed: for each simplex σ ∈ Σ, all faces of σ are also in Σ.
2. The intersection σi ∩ σj of any two simplices σi , σj ∈ Σ is either
empty or is a face of both σi and σj .

• Any subset K0 ⊂ K that is itself a simplicial complex is called a


subcomplex of K.
• In particular, for any nonnegative integer k, the subset K(k ) ⊂ K
consisting of all simplices of dimension less than or equal to k is
a subcomplex, called the k -skeleton of K.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Euclidean simplicial complex

Definition (Euclidean simplicial complex)


A finite set Σ of Euclidean simplices forms a (finite) Euclidean
simplicial complex if the following two conditions hold:
1. Σ is closed: for each simplex σ ∈ Σ, all faces of σ are also in Σ.
2. The intersection σi ∩ σj of any two simplices σi , σj ∈ Σ is either
empty or is a face of both σi and σj .

• Any subset K0 ⊂ K that is itself a simplicial complex is called a


subcomplex of K.
• In particular, for any nonnegative integer k, the subset K(k ) ⊂ K
consisting of all simplices of dimension less than or equal to k is
a subcomplex, called the k -skeleton of K.
• The 0-skeleton of K is called a vertex set of K and denoted V (K).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Euclidean simplicial complex

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Topological relations
For a p-simplex σ p in a simplicial complex K we define the following
topological relations:

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Topological relations
For a p-simplex σ p in a simplicial complex K we define the following
topological relations:
• for p > q, the boundary relation Bp,q (σ p ) is the set of all q-faces
of σ p :
Bp,q (σ p ) = filterq {σ ∈ K : vert(σ ) ⊂ vert(σ p )},

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Topological relations
For a p-simplex σ p in a simplicial complex K we define the following
topological relations:
• for p > q, the boundary relation Bp,q (σ p ) is the set of all q-faces
of σ p :
Bp,q (σ p ) = filterq {σ ∈ K : vert(σ ) ⊂ vert(σ p )},
• for p < q, the coboundary relation Cp,q (σ p ) is the set of all
q-simplices that have σ p as a face:
Cp,q (σ p ) = filterq {σ ∈ K : vert(σ p ) ⊂ vert(σ )},

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Topological relations
For a p-simplex σ p in a simplicial complex K we define the following
topological relations:
• for p > q, the boundary relation Bp,q (σ p ) is the set of all q-faces
of σ p :
Bp,q (σ p ) = filterq {σ ∈ K : vert(σ ) ⊂ vert(σ p )},
• for p < q, the coboundary relation Cp,q (σ p ) is the set of all
q-simplices that have σ p as a face:
Cp,q (σ p ) = filterq {σ ∈ K : vert(σ p ) ⊂ vert(σ )},
• for p > 0, the adjacency relation Ap (σ p ) is the set of all
p-simplices, which are (p − 1)-adjacent to σ p (which means
those simplices, that share a (p − 1)-face with σ p ):
Ap (σ p ) = filterp {σ ∈ K : |vert(σ p ) ∩ vert(σ )| = p},

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Star

Definition (star)
We define the star of a simplex σ as a set of all the simplices in K,
which have σ as a face:
n
st(σ p ) = {σ ∈ K : vert(σ p ) ⊂ vert(σ )} = Cp,q (σ p ).
[

q =p+1

For the sake of convenience, we also define a star of an arbitrary


subset Σ of K, as the union of the stars of all simplices in Σ:
[
st(Σ) = st(σi ).
σi ∈Σ

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Star

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Closure

Definition (closure)
We define the closure of a simplex σ p ∈ K as a set
p
cl(σ p ) = Bp,q (σ p ).
[

q =0

The closure of a simplex set Σ ⊂ K is expressed as a set


[
cl(Σ) = cl(σi ).
σi ∈Σ

Equivalently, we can define the closure of a simplex σ ∈ K (simplex


set Σ ⊂ K) as the smallest subcomplex of K containing σ
(including Σ).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Closure

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Link

Definition (link)
The link of a simplex σ is defined as the set of all the the simplices in
the closure of the star of σ , which do not share a face with σ :

lk(σ ) = cl(st(σ )) − st(cl(σ )).

It can be proven that for every simplex σ ∈ K, lk(σ ) is a subcomplex.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Link

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Carrier

Definition
The carrier kKk of a simplicial complex K (also called the polyhedron
kKk) is a subset of E n defined by the union, as point sets, of all the
simplices in K.

Definition
For each point v ∈ kKk there exists exactly one simplex σ ∈ K
containing v in its relative interior. This simplex is denoted by supp(v )
and called the support of the point v .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Manifoldness

Definition (notion of manifoldness)


We say that a point v ∈ A ⊂ E n is p-manifold if there exists a
neighbourhood U of v such that A ∩ U is homeomorphic to Rp or
R(p−1) × (0, +∞). Otherwise we call v non-manifold.

We say that a simplex σ ∈ K is p-manifold, if every point of the relative


interior of this simplex is p-manifold with regard to the carrier of K.
E.g. obviously each n-simplex is n-manifold, each (n − 1)-simplex is
n-manifold if it is a face of at least one n-simplex, etc.

We also say that an n-dimensional simplicial complex K in E n is


manifold, if each of its simplices is n-manifold.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Manifoldness

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Orientations

We introduce the following equivalence relation in the set Pσ of all


orderings (vi1 , . . . , vip+1 ) of the vertices of σ = hv1 , . . . , vp+1 i:

(vi1 , . . . , vip+1 ) ∼ (vπ (i1 ) , . . . , vπ (ip+1 ) )

iff π : {1, 2, . . . , p + 1} −→ {1, 2, . . . , p + 1} is an even permutation


operator.

We call each element of the quotient set Oσ = Pσ / ∼ an orientation of


a simplex σ .

If p > 0, |Oσ | = 2, meaning that there are two possible orientations for
any simplex defined on a set of p + 1 points from E n .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Oriented volume

We define an oriented volume of σ = [v1 , . . . , vp+1 ]

V (σ ) = V (v1 , . . . , vp+1 )
1
= det(v1 − v2 , v2 − v3 , . . . , vp − vp+1 , vp+1 − v1 ).
p!

It can be proven, that for an even permutation operator π

V (vπ (1) , . . . , vπ (p+1) ) = V (v1 , . . . , vp+1 ),

and for an odd permutation operator π 0

V (vπ 0 (1) , . . . , vπ 0 (p+1) ) = −V (v1 , . . . , vp+1 ),

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Natural and induced orientation

Definition (natural orientation)


The orientation of σ , for which V (σ ) > 0 is called the natural
orientation.

Definition (induced orientation)


The p-simplex σ p = [v1 , v2 , . . . , vp+1 ] determines an orientation of
each of its (p − 1)-faces, called the induced orientation, by the
following rule: the induced orientation on the face
σip−1 = hv1 , . . . , vi−1 , vi +1 , . . . , vp+1 i is defined to be
(−1)i +1 [v1 , . . . , vi−1 , vi +1 , . . . , vp+1 ].

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Consistency

• Let K be an n-dimensional simplicial complex in which every


(n − 1)-simplex is a face of no more than two n-simplices.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Consistency

• Let K be an n-dimensional simplicial complex in which every


(n − 1)-simplex is a face of no more than two n-simplices.
• If σin , σjn ∈ K are two n-simplices that share an (n − 1)-face σ n−1 ,
we say that orientations of σin and σjn are consistent if they
induce opposite orientations on σ n−1 .

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Consistency

• Let K be an n-dimensional simplicial complex in which every


(n − 1)-simplex is a face of no more than two n-simplices.
• If σin , σjn ∈ K are two n-simplices that share an (n − 1)-face σ n−1 ,
we say that orientations of σin and σjn are consistent if they
induce opposite orientations on σ n−1 .
• An orientation of K is a choice of orientation of each n-simplex in
such a way that any two simplices that interesect in an
(n − 1)-face are consistently oriented.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Consistency

• Let K be an n-dimensional simplicial complex in which every


(n − 1)-simplex is a face of no more than two n-simplices.
• If σin , σjn ∈ K are two n-simplices that share an (n − 1)-face σ n−1 ,
we say that orientations of σin and σjn are consistent if they
induce opposite orientations on σ n−1 .
• An orientation of K is a choice of orientation of each n-simplex in
such a way that any two simplices that interesect in an
(n − 1)-face are consistently oriented.
• If a complex K admits an orientation, it is said to be orientable.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle meshes

Definition (triangle mesh)


A dimension 2 simplicial complex K ⊂ E n (where n ≥ 2), such that
every 0 or 1-simplex σ ∈ K is a face of a 2-simplex σ 2 ∈ K is called a
triangle mesh.

Triangle meshes inherit the notions of manifoldness and orientability


from simplicial complexes.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:


• smoothing: displacing vertices without changing connectivity,
performend in order to improve mesh quality;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:


• smoothing: displacing vertices without changing connectivity,
performend in order to improve mesh quality;
• edge flips: mesh reconnection without changing vertex
placement;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:


• smoothing: displacing vertices without changing connectivity,
performend in order to improve mesh quality;
• edge flips: mesh reconnection without changing vertex
placement;
• edge splits: introducing a new vertex on an edge;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:


• smoothing: displacing vertices without changing connectivity,
performend in order to improve mesh quality;
• edge flips: mesh reconnection without changing vertex
placement;
• edge splits: introducing a new vertex on an edge;
• face splits: introducing a new vertex on a face;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Triangle mesh operations

Triangle mesh operations include:


• smoothing: displacing vertices without changing connectivity,
performend in order to improve mesh quality;
• edge flips: mesh reconnection without changing vertex
placement;
• edge splits: introducing a new vertex on an edge;
• face splits: introducing a new vertex on a face;
• edge collapse: removing an edge and its adjacent triangles;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Edge flip

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Edge split

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Face split

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Edge collapse

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Tetrahedral meshes

Definition (tetrahedral mesh)


A dimension 3 simplicial complex K ⊂ E n (where n ≥ 3), such that
every 0, 1 or 2-simplex σ ∈ K is a face of a 3-simplex σ 3 ∈ K is called
a tetrahedral mesh.

Tetrahedral meshes inherit the notions of manifoldness and


orientability from simplicial complexes.

Triangle mesh operations generalize (although not always easily) to


tetrahedral meshes.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Tetrahedral mesh

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Data structures

• The main purpose of data structures representing a simplicial


complex K is to store data associated with simplices in K.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Data structures

• The main purpose of data structures representing a simplicial


complex K is to store data associated with simplices in K.
• Depending on the purpose, not all of the simplex types might be
represented in the data structure (for example: indexed face set,
for simplicial complexes of dimension 2, with no dangling edges).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Data structures

• The main purpose of data structures representing a simplicial


complex K is to store data associated with simplices in K.
• Depending on the purpose, not all of the simplex types might be
represented in the data structure (for example: indexed face set,
for simplicial complexes of dimension 2, with no dangling edges).
• If want to ensure efficient traversal, incidence information has to
be stored together with the simplices.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Data structures

• The main purpose of data structures representing a simplicial


complex K is to store data associated with simplices in K.
• Depending on the purpose, not all of the simplex types might be
represented in the data structure (for example: indexed face set,
for simplicial complexes of dimension 2, with no dangling edges).
• If want to ensure efficient traversal, incidence information has to
be stored together with the simplices.
• Examples include: quad-edge, half-edge (for 2-manifold
triangular meshes).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Incidence simplicial data structure

• The incidence simplicial (IS) data structure is a


dimension-independent, compact data structure designed for
representing arbitrary simplicial complexes K.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Incidence simplicial data structure

• The incidence simplicial (IS) data structure is a


dimension-independent, compact data structure designed for
representing arbitrary simplicial complexes K.
• Each simplex in K has its representation in IS data structure.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Incidence simplicial data structure

• The incidence simplicial (IS) data structure is a


dimension-independent, compact data structure designed for
representing arbitrary simplicial complexes K.
• Each simplex in K has its representation in IS data structure.
• We store with each p-simplex σ p ∈ K (for p > 1) the unordered
set of handles to its p + 1 (p − 1)-dimensional faces
σ1p−1 , . . . , σpp−1 p
+1 (the boundary relation Bp,p−1 (σ )).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Incidence simplicial data structure

• The incidence simplicial (IS) data structure is a


dimension-independent, compact data structure designed for
representing arbitrary simplicial complexes K.
• Each simplex in K has its representation in IS data structure.
• We store with each p-simplex σ p ∈ K (for p > 1) the unordered
set of handles to its p + 1 (p − 1)-dimensional faces
σ1p−1 , . . . , σpp−1 p
+1 (the boundary relation Bp,p−1 (σ )).
• In order to make the traversal efficient, partial coboundary
∗ p p
relation Cp,p +1 (σ ) is also stored with every p-simplex σ ∈ K, for
p < n.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Incidence simplicial data structure

• The incidence simplicial (IS) data structure is a


dimension-independent, compact data structure designed for
representing arbitrary simplicial complexes K.
• Each simplex in K has its representation in IS data structure.
• We store with each p-simplex σ p ∈ K (for p > 1) the unordered
set of handles to its p + 1 (p − 1)-dimensional faces
σ1p−1 , . . . , σpp−1 p
+1 (the boundary relation Bp,p−1 (σ )).
• In order to make the traversal efficient, partial coboundary
∗ p p
relation Cp,p +1 (σ ) is also stored with every p-simplex σ ∈ K, for
p < n.

• Partial coboundary relation Cp,p p
+1 (σ ) consists of
(p + 1)-simplices from st(σ p ) connecting σ p with its link, one per
each connected component in lk(σ p ).

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Our implementation
• Our implementation of the IS data structure is restricted to
simplicial complexes of dimension three or less.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Our implementation
• Our implementation of the IS data structure is restricted to
simplicial complexes of dimension three or less.
• Our implementation is orientation-aware: we identify an oriented
simplex σ p with an ordered tuple of its (p − 1)-faces:
h i
σ1p−1 , . . . , σpp−1
+1 ,

which implies:
h i
σ p = vert σ p /vert σ1p−1 , . . . , vert σ p /vert σpp−1
  
+1 ,

where:
 d[
+1
vert σ d = vert σid−1 ,

i =1

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Our implemetation

It can be seen that:


∗ (σ 2 ) = C (σ 2 ),
• C2,3 2,3

• if σ p (p < 2) is 3-manifold, then |Cp,p p
+1 (σ )| = 1.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;
• closure – evaluation of the closure of a simplex or a set of
simplices;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;
• closure – evaluation of the closure of a simplex or a set of
simplices;
• link – evaluation of the link of a simplex;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;
• closure – evaluation of the closure of a simplex or a set of
simplices;
• link – evaluation of the link of a simplex;
• boundary – evaluation of the boundary of the simplex;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;
• closure – evaluation of the closure of a simplex or a set of
simplices;
• link – evaluation of the link of a simplex;
• boundary – evaluation of the boundary of the simplex;
• orient faces consistently/oppositely – enforcing a
consistent/opposite orientation on all (p − 1)-faces of a p-simplex
σ p;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

Operations

The operations for traversal and manipulation of the simplicial


complex include:
• star – evaluation of the star of a simplex;
• closure – evaluation of the closure of a simplex or a set of
simplices;
• link – evaluation of the link of a simplex;
• boundary – evaluation of the boundary of the simplex;
• orient faces consistently/oppositely – enforcing a
consistent/opposite orientation on all (p − 1)-faces of a p-simplex
σ p;
• orient co-faces consistently/oppositely – enforcing a
consistent/opposite orientation on all (p + 1)-simplices having a
given p-simplex σ p as a face;

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

References

• J. M. Lee. Introduction to topological manifolds. 2000.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

References

• J. M. Lee. Introduction to topological manifolds. 2000.


• L. de Floriani, A. Hui, D. Panozzo and D. Canino. A
dimension-independent data structure for simplicial complexes.
2010.

M. K. Misztal Simplicial Complexes: Theory and Implementation


Theory Meshes Implementation

References

• J. M. Lee. Introduction to topological manifolds. 2000.


• L. de Floriani, A. Hui, D. Panozzo and D. Canino. A
dimension-independent data structure for simplicial complexes.
2010.
• M. K. Misztal. Deformable simplicial complexes. PhD thesis,
2010.

M. K. Misztal Simplicial Complexes: Theory and Implementation

You might also like