1. 11
Topology
On Topology and Topological Data Models in Geometric Modeling of Space
Dr.ir. Pirouz Nourian
Assistant Professor of Design Informatics
Department of Architectural Engineering & Technology
Faculty of Architecture and Built Environment
Lecture notes of the course Geo1004: 3D Modelling of Built Environment, MSc Geomatics, TU Delft
2. 22
• Geographical Modelling, replicating space using geometric objects with global coordinates
• Geometrical Modelling, replicating space using geometric objects with local coordinates
• Topological Modelling, replicating space using topological constructs such as simplexes
• Graphical Modelling, replicating space using space objects and proximity links
• Spectral Modelling, replicating space using Eigen space of differential operators
Spectral Modelling for Spatial Network Analysis
Abstractions of Space in Modelling Built Environments
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
3. 33
• Geographical Modelling, replicating space using geometric objects with global coordinates
• Geometrical Modelling, replicating space using geometric objects with local coordinates
• Topological Modelling, replicating space using topological constructs such as simplexes
• Graphical Modelling, replicating space using space objects and proximity links
• Spectral Modelling, replicating space using Eigen space of differential operators
Spectral Modelling for Spatial Network Analysis
Abstractions of Space in Modelling Built Environments
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
4. 44
0D: Point (the space therein everywhere resembles a 0-dimensional Euclidean Space)
1D: Curve (the space therein everywhere resembles a 1-dimensional Euclidean Space)
2D: Surface (the space therein everywhere resembles a 2-dimensional Euclidean Space)
3D: Solid (the space therein everywhere resembles a 3-dimensional Euclidean Space)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
5. 55
Discrete Models of Manifold Spaces
Mesh Graph/Network Grid
Discrete Representations of Continuous Space
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
6. 66
Topology could be described as the study of topological invariants/properties of spatial objects,
such as connectedness, continuity, closeness and dimension which remain invariant while
applying topological two-directional continuous one-to-one or homoeomorphic transformations,
such as those applied to a rubber-sheet or a piece of dough to change their shapes without tearing
them apart, making cuts, making holes, gluing pieces.
See also a glossary here: http://www.solitaryroad.com/c775.html
http://www.gmanetwork.com/news/scitech/science/583886/when-is-a-coffee-mug-a-donut-topology-explains-it/story/
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
7. 77
a riddle:
Can you wear a piece of dough as a T-Shirt? What do we do with the dough to wear it?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
8. 88
a riddle:
Can you wear a piece of dough as a T-Shirt? What do we do with the dough to wear it?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
9. 99
a riddle:
Can you wear a piece of dough as a T-Shirt? What do we do with the dough to wear it?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
10. 1010
a riddle:
Can you wear a piece of dough as a T-Shirt? What do we do with the dough to wear it?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
11. 1111
Geometry without Dimensions / Rubber-Sheet Geometry
Image from Encyclopaedia Britannica
Why is topology important in spatial modelling?Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
12. 1212
Geometry without Dimensions / Rubber-Sheet Geometry
Escher’s Balcony, 1945 Escher’s Print Gallery, 1956Image from Encyclopaedia Britannica
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
13. 1313
Here is a formal definition of what qualifies as a topological model:
Think of it as an abstraction of Euclidean space in which neighbourhoods are open balls [open sets, the space inside the
balls without the ball surfaces] around points. Concretely, a topology [can be loosely considered as a topological model] on
a point set 𝕏 is a collection 𝒰 [that is e.g. a geometric model whose inner space is abstracted as a collection of such
neighbourhoods] of subsets of 𝕏, called open sets, such that:
(i) 𝕏 is open and the empty set ∅ is open;
(ii) if 𝑈1 and 𝑈2 are open, then 𝑈1 ∩ 𝑈2 is open; //[i.e. the intersection of two open sets is open]
(iii) if 𝑈𝑖 is open for all 𝑖 in some possibly infinite, possible uncountable, index set, then the union of all 𝑈𝑖 is open. //[i.e.
the unison of open sets is open]
From Computational Topology, An Introduction, Edelsbrunner, Herbert and Harer, John, 2010, p.15, annotations in
brackets from Pirouz Nourian.
Here is an example of what this definition could mean e.g. in case of modelling with point clouds:
A User’s Guide to Topological Data Analysis
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
14. 1414
Topology is a very broad subject area, in which at least two fields are relevant to us:
Point-Set Topology (a.k.a. General Topology)
Algebraic Topology (f.k.a. Combinatorial Topology)
Point-Set Topology: Point-Set topology, also called set-theoretic topology or general topology, is
the study of the general abstract nature of continuity or "closeness" on spaces. Basic point-set
topological notions are ones like continuity, dimension, and connectedness.
In the context of Point Set Topology we discuss: Nodes, Arcs, Disks, Balls (topological models
use to describe the space inside Point Neighbourhoods, Curves, Surfaces, and Solids)
Loosely speaking, this sense of topology is evident in the global structure of a geometric model.
Algebraic Topology: Algebraic Topology, which includes Combinatorial Topology, is the study of
“topological invariants” or ”topological properties” of combinatorial maps or decompositions of
spaces such as [but not limited to] simplicial complexes.
In the context of Algebraic Topology we discuss: Vertices, Edges, Faces, Bodies, (topological
models used to tessellate/approximate/decompose Points, Curves, Surfaces, and Solids)
Loosely speaking, this sense of topology is evident in the local structure of a geometric model.
We shall see how both of these senses come together in one equation describing topological
invariants.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
16. 1616
“If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.”
Image: DUCK: GETTY Images; ILLUSTRATION: MARTIN O'NEILL, from
http://www.nature.com/nature/journal/v484/n7395/full/484451a.html?message-global=remove
how do we model a curve in 3D space?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
17. 1717
1D 2D 3D
Parametric Modelling: modelling objects explicitly using their homeomorphic topological space
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
18. 1818
• 1D: Curves (t parameter)
• 2D: Surfaces (u & v parameters)
• (3D?): B-Reps (each face is a surface)
NURBS Objects
Non Uniform Rational Basis Splines are used for accurately
modeling free-form geometries
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
19. 1919
NURBS Representation
Non Uniform Rational Basis Splines (NURBS) are used for
modeling free-form geometries accurately
Image courtesy of http://www.boatdesign.netImage courtesy of Wikimedia
• An elegant mathematical description of a physical drafting aid as a (set of)
parametric equation(s).
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
20. 2020
Parametric Curves in General
How do numeric weights correspond to physical weights?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
21. 2121
Splines in Computer Graphics
All types of curves can be modeled as splines
•
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
22. 2222
Bezier interpolationModelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
23. 2323
NURBS equations
All from a summary by Markus Altmann:
http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
24. 2424
NURBS Representation
Non Uniform Rational Basis Splines (NURBS) are used for
modeling free-form geometries accurately
• An elegant mathematical description of a physical drafting aid as a (set of)
parametric equation(s).
• offer one common mathematical form for both, standard analytical shapes
(e.g. conics) and free form shapes;
• provide the flexibility to design a large variety of shapes;
• can be evaluated reasonably fast by numerically stable and accurate
algorithms;
• are invariant under affine as well as perspective transformations;
• are generalizations of non-rational B-splines and non-rational and rational
Bezier curves and surfaces.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
25. 2525
NURBS Surfaces
Rectangular Patches
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
26. 2626
Parametric Space
Images courtesy of David Rutten, from Rhinoscript 101
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
27. 2727
Parametric Locations:Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
28. 2828
Bilbao Guggenheim Museum
Bus stop near Sebastiaansbrug Delft
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
29. 2929
Curvature
𝐾 =
1
𝑅
One over the radius of the osculation (kissing) circle
Why did people [for such a long time] believe that the Earth was flat?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
30. 3030
2D Curvature: Gaussian
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
𝐾 𝐺 = 𝑲 𝑚𝑖𝑛. 𝑲 𝑚𝑎𝑥
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
31. 3131
Gaussian Curvature
𝐾 𝐺 = 𝐾 𝑚𝑖𝑛 𝐾 𝑚𝑎𝑥
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
32. 3232
Continuity
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
33. 3333
2D Curvature: Mean
𝐻 =
𝑲 𝑚𝑖𝑛 +𝑲 𝑚𝑎𝑥
2
Anish Kapoor, Marsyas, 2002, installation view, Tate Modern
https://en.wikipedia.org/wiki/Mean_curvature
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
34. 3434
Boundary RepresentationsModelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
35. 3535
Boundary Representations
• 0D: Point
• 1D: Curve (represented by boundary Points)
• 2D: Surface (represented by boundary Curves)
• 3D: Solid (represented by boundary Surfaces)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
36. 3636
Imagine the Boundary of Manifolds
• 0D: Point (the space therein everywhere resembles a 0-dimensional Euclidean Space)
• 1D: Curve (the space therein everywhere resembles a 1-dimensional Euclidean Space)
• 2D: Surface (the space therein everywhere resembles a 2-dimensional Euclidean Space)
• 3D: Solid (the space therein everywhere resembles a 3-dimensional Euclidean Space)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
37. 3737
Boundary Representations
• 0D: Point
• 1D: Curve (represented by boundary Points)
• 2D: Surface (represented by boundary Curves)
• 3D: Solid (represented by boundary Surfaces)
• Free-Form Parametric surfaces
• Piecewise Linear: Polygon Meshes
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
38. 3838
A simplex cell [actually the space inside it] is defined as the locus of points defined by linear
interpolations of the corner vertices with barycentric coordinates denoted by 𝛼𝑖, as follows:
𝑣0, 𝑣1, … , 𝑣 𝑘 ∈ ℝ 𝑛
𝐶 = {𝛼0 𝑣0 + 𝛼1 𝑣1 + ⋯ . +𝛼 𝑘 𝑣 𝑘|𝛼𝑖 ≥ 0, 0 ≤ 𝑖 ≤ 𝑘,
𝑖
𝛼𝑖 = 1}
• 0-simplex: Point
• 1-simplex: Line
• 2-simplex: Triangle
• 3-simplex: Tetrahedron
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
39. 3939
A simplex cell [actually the space inside it] is defined as the locus of points defined by linear
interpolations of the corner vertices with barycentric coordinates denoted by 𝛼𝑖, as follows:
𝑣0, 𝑣1, … , 𝑣 𝑘 ∈ ℝ 𝑛
𝐶 = {𝛼0 𝑣0 + 𝛼1 𝑣1 + ⋯ . +𝛼 𝑘 𝑣 𝑘|𝛼𝑖 ≥ 0, 0 ≤ 𝑖 ≤ 𝑘,
𝑖
𝛼𝑖 = 1}
http://beachpackagingdesign.com/boxvox/the-tetra-pak-t
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
40. 4040
A simplex cell is defined as the locus of points defined by linear interpolations of the corner
vertices with barycentric coordinates denoted by 𝛼𝑖, as follows:
𝑣0, 𝑣1, … , 𝑣 𝑘 ∈ ℝ 𝑛
𝐶 = {𝛼0 𝑣0 + 𝛼1 𝑣1 + ⋯ . +𝛼 𝑘 𝑣 𝑘|𝛼𝑖 ≥ 0, 0 ≤ 𝑖 ≤ 𝑘,
𝑖
𝛼𝑖 = 1}
http://beachpackagingdesign.com/boxvox/the-tetra-pak-t
A simplicial complex is a collection of simplices (simplexes) 𝐾 in ℝ 𝑛
such that:
1. Every face of a simplex of 𝐾 is in 𝐾, and
2. The intersection of any two simplexes of 𝐾 is a [generalized] face of each of them [with dimension 𝑘 − 1]
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
42. 4242
• Example:
• Important note:
the geometry of faces is not stored; only rendered when needed!
What you see on the screen is not necessarily what you store!
Polygon Mesh Representation
A light-weight model composed of points and a set of topological
relations among them.
Points >Vertices Lines > Edges Polygons > Faces Mesh
T1: {0,4,3}
T2:{0,1,4}
Q1:{1,2,5,4}
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
43. 4343
• The geometry of a Mesh can be represented by its points (known as [geometrical] vertices
in Rhino), i.e. a ‘list’ of 3D points in ℝ3
• The topology of a Mesh can be represented based on its [topological] vertices, referring to a
‘set’ of 3D points in ℝ3
, there are multiple ways to describe how these vertices are spatially
related (connected or adjacent) to one another and also to edges and faces of the Mesh
• Same topology and different geometries:
Mesh
Mesh Geometry versus Mesh Topology
T1: {0,4,3}
T2:{0,1,4}
Q1:{1,2,5,4}T1
T2
Q1
T1
T2
Q1
0
3
1
4
5
2 0
3
1
4 5
2
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
44. 4444
Triangulated Meshes
Some preliminary definitions: fan, star, strip
A triangle strip=:ABCDEF
ABC, CBD, CDE, and EDF
A
B
C
D
E
F
A Closed Triangle Fan or a ‘star’=:ABCDEF
A
B
C
D
E
F
ABC, ACD, ADE, and AEF
A Triangle Fan=: ABCDE
AB
C
D
E
ABC, ACD, and ADE
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
45. 4545
Mesh Boundary
Some preliminary definitions: free* vertices, free* edges
• If an edge has less than two faces adjacent to it then it is considered free;
• If a vertex is part of such an edge it is considered as free too.
* In Rhinocommon free vertices/edges are referred to as naked.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
46. 4646
Mesh Border denoted as 𝝏 (𝒑𝒓𝒐𝒏𝒐𝒖𝒏𝒄𝒆𝒅 𝒂𝒔 ′
𝒏𝒂𝒃𝒍𝒂′ 𝒐𝒓 ′𝒅𝒆𝒍′)
• A 1D border is the set of connected edges incident to only one face of a 2-
manifold, i.e. composed of free edges. We can conclude that:
• If every vertex has a closed fan, or there is no edge of valence (number of
neighbors) less than 2, the given manifold has no border. Example: a box!
non-manifold border manifold borderno [1D] border
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
47. 4747
Images courtesy of Dr. Ching-Kuang Shene from Michigan Technological
University
• if a Mesh is supposed to be a 2D manifold then it should meet these criteria:
1. each edge is incident to only one or two faces; and
2. the faces incident to a vertex form a closed or an open fan.
Non manifold Mesh examples: (note why!)
Manifold Mesh
A 2-manifold [everywhere] locally resembles a flat surface
• if a Mesh is supposed to be orientable then, it should be possible to find
‘compatible’ orientations for any two adjacent faces; in which, for each pair of
adjacent faces, the common edge of the two faces has opposite orders.
• Example: Möbius band is a 2D manifold Mesh that is non-printable.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
48. 4848
Image Source: http://prateekvjoshi.com/2014/11/16/homomorphism-vs
homeomorphism/
Mesh Topology: Homeomorphism
clay models that are all topologically equal!
Images courtesy of Dr. Ching-Kuang Shene from Michigan Technological University
Two 2-manifold Meshes A and B are
homeomorphic if their surfaces can be
transformed to one another by topological
transformations (bending, twisting, stretching,
scaling, etc.) without cutting and gluing.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
49. 4949
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
Only for 2D boundary representations*
Images courtesy of Dr. Ching-Kuang Shene from Michigan Technological University
𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 𝑔 − 𝜕
• 𝛿 is the number of [connected] borders
• 𝑔 is the number of “genera” (pl. of genus) or holes
• Irrespective of tessellation!
𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 2 − 0 = −2
* For 3D BReps the Euler characteristic equation will take the form of V-E+F-B
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
51. 5151
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
• Irrespective of tessellation!
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
52. 5252
Valid Mesh (often expected to be a 2–Manifold Surface)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
53. 5353
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
• N-Manifold/Non-Manifold: Each point of an n-dimensional manifold has a
neighborhood that is homeomorphic to the Euclidean space of dimension n
• Riddle: The above definition implies that for mapping some local geographic features 2D
maps are fine. What about the whole globe? That is not homoeomorphic to a rectangular
surface! How do we do it then?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
54. 5454
Poincare Duality
a pairing between k-dimensional features and dual features
of dimension n-k in ℝ 𝑛
PRIMAL DUAL
0D vertex (e.g. as a point) 1D edge
1D edge (e.g. as a line segment) 0D vertex
PRIMAL DUAL
0D vertex (e.g. a point) 2D face
1D edge (e.g. a line segment) 1D edge
2D face (e.g. a triangle or a pixel) 0D vertex
PRIMAL DUAL
0D vertex (e.g. a point) 3D body
1D edge (e.g. a line segment) 2D face
2D face (e.g. a triangle or a pixel) 1D edge
3D body (e.g. a tetrahedron or a voxel) 0D vertex
ℝ
ℝ3
ℝ2
Configraphics: Graph Theoretical Methods of Design and Analysis of Spatial Configurations, Nourian, P, 2016
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
55. 5555
Poincare Duality
a pairing between k-dimensional features and dual features
of dimension n-k in ℝ 𝑛
PRIMAL DUAL
0D vertex (e.g. as a point) 1D edge
1D edge (e.g. as a line segment) 0D vertex
ℝ
A hypothetical street network (a), a Junction-to-Junction adjacency graph (b) versus a Street-to-Street adjacency graph (c), both ‘undirected’,
after Batty (Batty, 2004): red dots represent graph nodes, and blue arcs represent graph links.
Batty, M., 2004. A New Theory of Space Syntax. CASA Working Paper Series, March.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
56. 5656
Poincare Duality
a pairing between k-dimensional features and dual features
of dimension n-k in ℝ 𝑛
PRIMAL DUAL
0D vertex (e.g. a point) 2D face
1D edge (e.g. a line segment) 1D edge
2D face (e.g. a triangle or a pixel) 0D vertex
ℝ2
A Voronoi tessellation of 2D space and its dual that is a Delaunay triangulation
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
57. 5757
Poincare Duality
a pairing between k-dimensional features and dual features
of dimension n-k in ℝ 𝑛
PRIMAL DUAL
0D vertex (e.g. a point) 3D body
1D edge (e.g. a line segment) 2D face
2D face (e.g. a triangle or a pixel) 1D edge
3D body (e.g. a tetrahedron or a voxel) 0D vertex
ℝ3
representing adjacencies between 3D cells or bodies via their dual vertices (Lee, 2001)
Lee, J., 2001. 3D Data Model for Representing Topological Relations of Urban Features. San Diego, CA, s.n.
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
58. 5858
Mesh Topological Structure
• Mesh Topological Data Models:
Face-Vertex: e.g. 𝐹0 = {𝑉0, 𝑉5, 𝑉4} & 𝑉0 ∈ 𝐹0, 𝐹1, 𝐹12, 𝐹15, 𝐹7
Images courtesy of David Dorfman, from Wikipedia
Face-Vertex (as implemented in Rhinoceros)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
59. 5959
Vertex-Vertex: e.g. 𝑉0~{𝑉1, 𝑉4, 𝑉3}
Face-Vertex: e.g. 𝐹0 = 𝑉0, 𝑉5, 𝑉4 , 𝑉0 ∈ 𝐹0, 𝐹1, 𝐹12, 𝐹15, 𝐹7
Winged-Edge: e.g. 𝐹0 = 𝐸4, 𝐸8, 𝐸9 , 𝐸0 = 𝑉0, 𝑉1 , 𝐸0~ 𝐹1, 𝐹12 , 𝐸0~ 𝐸9, 𝐸23, 𝐸10, 𝐸20
Half-Edge: each half edge has a twin edge in opposite direction, a previous and a next
Mesh Topological Structures
Image courtesy of David Dorfman, from Wikipedia
What is explicitly stored as topology of a Mesh: E.g. Face-
Vertex (as implemented in Rhinoceros)
http://doc.cgal.org/latest/HalfedgeDS/index.html
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
60. 6060
Mesh Topological Structures
Which topological relations are explicitly stored in the data model
V E F
V VV VE VF
E EV EE EF
F FV FE FF
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
61. 6161
Mesh Topological Structure
• Mesh Topological Data Models:
Face-Vertex Example:
http://4.rhino3d.com/5/rhinocommon/html/AllMembers_T_Rhino_Geometry_Collections_MeshTopologyVertexList.htm
Face-Vertex (as implemented in Rhinoceros)
Name Description
ConnectedFaces Gets all faces that are connected to a given vertex.
ConnectedTopologyVertices(Int32) Gets all topological vertices that are connected to a given vertex.
ConnectedTopologyVertices(Int32, Boolean) Gets all topological vertices that are connected to a given vertex.
The MeshTopologyVertexList type exposes the following members.
Half-Edge: Half-Edge Mesh Data Structure, example implementation by Daniel Piker:
http://www.grasshopper3d.com/group/plankton
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
62. 6262
Mesh Geometry
• Polygon vs Face
• Triangulate
• Quadrangulate
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
63. 6363
Mesh Intersections
• Boolean operation on Meshes:
1. 𝐴 ∪ 𝐵: Boolean Union
2. 𝐴 − 𝐵: Boolean Difference
3. 𝐴 ∩ 𝐵: Boolean Intersection
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
64. 6464
Normal Vectors of a Mesh
• Topological Vertices versus Geometrical Points
• Joining Mesh objects: What is a Mesh box?
• Welding Meshes: how does it work?
• Face Normal versus Vertex Normal
Where do they come from and what do they represent?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
65. 6565
How to Compute Mesh Normals?
00,
00 ),(
vvuuv
p
u
p
vun
1
( ) ( )
0
( )( )
N
x i next i i next i
i
N y y z z
1
( ) ( )
0
( )( )
N
z i next i i next i
i
N x x y y
1
( ) ( )
0
( )( )
N
y i next i i next i
i
N z z x x
Martin Newell at Utah (remember the teapot?)
Why?
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
66. 6666
Repairing/Reconstructing Geometry
• Example: Coons’ Patch
• Code it and get bonus points!
Image courtesy of CVG Lab
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
67. 6767
Mesh Smoothing
for (int k = 0; k <= L - 1; k++) {
List<Point3d> SmoothV = new List<Point3d>();
for (int i = 0; i <= M.Vertices.Count - 1; i++) {
List<Point3d> Neighbours = Neighbors(M, i);
Point3d NVertex = new Point3d(0, 0, 0);
foreach (point3d neighbor in Neighbours ) {
NVertex = NVertex + neighbor;
}
NVertex = (1 / Ngh.Count) * NVertex;
SmoothV.Add(NVertex);
}
M.Vertices.Clear();
M.Vertices.AddVertices(SmoothV);
A = M;
}
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
68. 6868
Topological Transformation of Meshes
http://www.idz.ro/grasshopper-mesh-relaxation-component-update/
Euclidean to Hyperbolic
By Dynamic Relaxation Algorithms
Euclidean to Elliptical
By Subdivision Algorithms
https://www.renderosity.com/mod/forumpro/?thread_id=2651940
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
69. 6969
• Geometry: Point (0D), Line (1D), Plane(2D), Hyper-Plane(3D) (Euclidean sub-spaces)
• Geometry: Point (0D), Curve(1D), Surface(2D), Solid (3D) [differential]
• Geometry: Point (0D), Line-Segment(1D), Polygon(2D), Polyhedron (3D) [piecewise linear]
• Geometry: Point(0D), Line-Segment(1D), Triangle(2D), Tetrahedron(3D) [simplexes]
• Topology: Node(0D), Arc(1D), Disk(2D), Ball(3D) [general/point-set]
• Topology: Vertex(0D), Edge(1D), Face(2D), Body(3D) [combinatorial/algebraic]
• Graph Theory: Object, Link, (and n-Cliques)
• Fields: Pixel, Voxel, Raster2D, Raster 3D [scalar]
On terminology (CAD, CG, GIS, Math, etc.)
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology
70. 7070
On terminology
n-D features
Graph Theory Topology Geometry
0D
Object Vertex Point
1D
Link Edge Line (Curve)
2D
Cycle* Face Polygon (Surface)
3D
Clique* Body Polyhedron (Solid)
Configraphics: Graph Theoretical Methods of Design and Analysis of Spatial Configurations, Nourian, P, 2016
Modelling Space
Manifolds
Topology
Point Set Topology
Algebraic Topology
Non-Euclidean Space
Geometric Models
Parametric Models
Boundary Representation
Simplexes
Polyhedral Meshes
Polygon Meshes
Manifold Mesh
Euler-Poincare Equation
Poincare Duality
Topological Models
Normal Vectors
Meshing
Mesh Transform
Terminology