SlideShare a Scribd company logo
1 of 69
Download to read offline
11
Geometry & Topology in Computer Geometry & Design
Dr.ir. Pirouz Nourian
Assistant Professor of Design Informatics
Department of Architectural Engineering & Technology
Faculty of Architecture and Built Environment
22
A Line is something that looks like a line & works like a line!
β€œ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
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
33
What you see on the screen is only a rasterized image of the object!
What you see is not what you get!
Image: RenΓ© Magritte, ceci n'est pas une pipe (this is not a pipe)
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
44
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
55
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
66
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
77
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Escher’s Balcony
88
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
ℝ ℝ 𝟐 ℝ πŸ‘
1D 2D 3D
http://paulbourke.net/geometry/hyperspace/
99
Cartesian Product of Sets ℝ 𝟏
= ℝ ℝ 𝟐 = ℝ Γ— ℝ ℝ πŸ‘
= ℝ Γ— ℝ Γ— ℝ
1D 2D 3D
http://paulbourke.net/geometry/hyperspace/
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
𝐴 = {π‘Ž, 𝑏, 𝑐}
𝐡 = {1,2}
𝐴 Γ— 𝐡 = { π‘Ž, 1 , π‘Ž, 2 , 𝑏, 1 , 𝑏, 2 , 𝑐, 1 , (𝑐, 2)}
1010
ℝ 𝟏
= ℝ ℝ 𝟐 = ℝ Γ— ℝ ℝ πŸ‘
= ℝ Γ— ℝ Γ— ℝ
1D 2D 3D
http://paulbourke.net/geometry/hyperspace/
𝐴 = {π‘Ž, 𝑏, 𝑐}
𝐡 = {1,2}
𝐴 Γ— 𝐡 = { π‘Ž, 1 , π‘Ž, 2 , 𝑏, 1 , 𝑏, 2 , 𝑐, 1 , (𝑐, 2)}
Cartesian Product of Sets
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
http://ndp.jct.ac.il/tutorials/discrete/node28.html
1111
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
1D 2D 3D
Curved Spaces
1212
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
1D 2D 3D
1313
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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)
1414
On terminology
β€’ Geometry: Point (0D), Curve(1D), Surface(2D), Solid (3D) [free-form]
β€’ Geometry: Point (0D), Line(1D), Polygon(2D), Polyhedron (3D) [piecewise linear]
β€’ Topology: Vertex(0D), Edge(1D), Face(2D), Body(3D)
β€’ Graph Theory: Object, Link, (and n-Cliques)
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
1515
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)
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Configraphics: Graph Theoretical Methods of Design and Analysis of Spatial Configurations, Nourian, P, 2016
1616
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
β€’ 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
1717
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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).
1818
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Parametric Curves in General
How do numeric weights correspond to physical weights?
1919
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Splines in Computer Graphics
All types of curves can be modeled as splines
β€’
2020
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Bezier interpolation
2121
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
NURBS equations
All from a summary by Markus Altmann:
http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html
2222
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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.
2323
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
NURBS Surfaces
Rectangular Patches
2424
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Parametric Space
Images courtesy of David Rutten, from Rhinoscript 101
2525
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Parametric Locations:
2626
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Bilbao Guggenheim Museum
Bus stop near Sebastiaansbrug Delft
2727
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
1D 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?
2828
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
2D Curvature: Gaussian
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
𝐾 𝐺 = 𝐾 π‘šπ‘–π‘› 𝐾 π‘šπ‘Žπ‘₯
2929
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
2D Curvature: Gaussian 𝐾 𝐺 = 𝐾 π‘šπ‘–π‘› 𝐾 π‘šπ‘Žπ‘₯
3030
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Blending Surfaces & Continuity
Images courtesy of Raja Issa, Essential Mathematics for Computational Design
3131
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
2D Curvature: Mean
𝐾 𝐺 =
𝐾 π‘šπ‘–π‘› +𝐾 π‘šπ‘Žπ‘₯
2
Anish Kapoor, Marsyas, 2002, installation view, Tate Modern
https://en.wikipedia.org/wiki/Mean_curvature
3232
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Boundary Representations
3333
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Boundary Representations
β€’ 0D: Point
β€’ 1D: Curve (represented by boundary Points)
β€’ 2D: Surface (represented by boundary Curves)
β€’ 3D: Solid (represented by boundary Surfaces)
3434
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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)
3535
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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
3636
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
The 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}
β€’ 0-simplex: Point
β€’ 1-simplex: Line
β€’ 2-simplex: Triangle
β€’ 3-simplex: Tetrahedron
3737
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
https://sites.google.com/site/dengwirda/jigsaw
https://www.researchgate.net/publication/287398529_An_E
fficient_Approach_for_Solving_Mesh_Optimization_Proble
ms_Using_Newton%27s_Method/figures?lo=1
3838
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
β€’ 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}
3939
β€’ 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
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4040
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
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4141
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.
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4242
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
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4343
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.
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4444
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.
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4545
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
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4646
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
β€’ Irrespective of tessellation!
πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = βˆ’2 π‘“π‘œπ‘Ÿ π‘‘π‘œπ‘’π‘π‘™π‘’ π‘‘π‘œπ‘Ÿπ‘–(β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Ž 2 β„Žπ‘œπ‘™π‘’π‘ )
πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 0 π‘“π‘œπ‘Ÿ π‘‘π‘œπ‘Ÿπ‘– (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Ž 1 β„Žπ‘œπ‘™π‘’)
πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 1 π‘“π‘œπ‘Ÿ π‘‘π‘–π‘ π‘˜π‘  (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘’π‘Ÿπ‘“π‘Žπ‘π‘’π‘ )
πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 2 π‘“π‘œπ‘Ÿ π‘ π‘β„Žπ‘’π‘Ÿπ‘’π‘  (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Žπ‘œπ‘’π‘‘ β„Žπ‘œπ‘™π‘’π‘ )
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4747
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
β€’ Irrespective of tessellation!
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
4848
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Valid Mesh (often expected to be a 2–Manifold Surface)
4949
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?
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
5050
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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
5151
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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.
5252
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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
5353
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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)
5454
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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)
5555
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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
5656
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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
5757
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Mesh Geometry
β€’ Polygon vs Face
β€’ Triangulate
β€’ Quadrangulate
5858
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Mesh Intersections
β€’ Boolean operation on Meshes:
1. 𝐴 βˆͺ 𝐡: Boolean Union
2. 𝐴 βˆ’ 𝐡: Boolean Difference
3. 𝐴 ∩ 𝐡: Boolean Intersection
5959
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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?
6060
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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?
6161
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Repairing/Reconstructing Geometry
β€’ Example: Coons’ Patch
β€’ Code it and get bonus points!
Image courtesy of CVG Lab
6262
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
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;
}
6363
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Mesh Smoothing (Relaxation)
Kangaroo Physics: https://vimeo.com/27484394
6464
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
6565
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Literal Boundary Representation
A strategy for design modeling/3D sketching
Curves Surfaces Solids
Curves
From Objects
Points
http://forums.newtek.com/showthread.php?143633-Can-Lightwave-Model-an-airplane-boat-Hull-Like-the-way-they-do-in-this-C4D-tutorial
6666
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Transformative Modeling
A different strategy for design modeling/3D sketching
Solids
Topological
Transformations
Transformed
Solids
Curves
From Objects
https://3dprint.com/88049/3d-printed-topology-joke/
6767
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Subdivision Modelling
A strategy for design modeling/3D sketching
Model a Simple BRep Subdivide to Smoothen
http://slodive.com/design/3ds-max-modeling-tutorials/
6868
Data Models
Types of Geometry
Dimensionality
Manifolds
Terminology
NURBS
B-Reps
Simplexes
Polyhedral Meshes
Polygon Meshes
Topology
Poincare Duality
Topological Model
Normal Vectors
Meshing
Mesh Smoothing
Mesh Subdivision
Design Modelling
Implicit modelling as level sets
A strategy for design modeling/3D sketching
Model a Scalar Field Get Iso-surfaces
6969
Questions:
p.nourian@tudelft.nl

More Related Content

What's hot

Solid Modeling Schemes CAM
Solid Modeling Schemes CAMSolid Modeling Schemes CAM
Solid Modeling Schemes CAMCDO
Β 
presentation on solid manipulation in computer aided design
presentation on solid manipulation in computer aided designpresentation on solid manipulation in computer aided design
presentation on solid manipulation in computer aided designRakshit vadi
Β 
Solid modelling cg
Solid modelling cgSolid modelling cg
Solid modelling cgNareek
Β 
5 geometric-modeling-ppt-university-of-victoria
5 geometric-modeling-ppt-university-of-victoria5 geometric-modeling-ppt-university-of-victoria
5 geometric-modeling-ppt-university-of-victoriaRaghu Gadde
Β 
Solid modeling
Solid modelingSolid modeling
Solid modelingDhruv Shah
Β 
187186134 5-geometric-modeling
187186134 5-geometric-modeling187186134 5-geometric-modeling
187186134 5-geometric-modelingmanojg1990
Β 
Geometric Modeling
Geometric Modeling Geometric Modeling
Geometric Modeling illpa
Β 
Solid modeling
Solid modelingSolid modeling
Solid modelingKRvEsL
Β 
Wireframe models
Wireframe modelsWireframe models
Wireframe modelsMohd Arif
Β 
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...sipij
Β 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realismJavith Saleem
Β 
Solid modelling Slide share academic writing assignment 2
Solid modelling Slide share academic writing assignment 2Solid modelling Slide share academic writing assignment 2
Solid modelling Slide share academic writing assignment 2somu12bemech
Β 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingJavith Saleem
Β 

What's hot (19)

Solid Modeling Schemes CAM
Solid Modeling Schemes CAMSolid Modeling Schemes CAM
Solid Modeling Schemes CAM
Β 
presentation on solid manipulation in computer aided design
presentation on solid manipulation in computer aided designpresentation on solid manipulation in computer aided design
presentation on solid manipulation in computer aided design
Β 
Solid modelling cg
Solid modelling cgSolid modelling cg
Solid modelling cg
Β 
427lects
427lects427lects
427lects
Β 
5 geometric-modeling-ppt-university-of-victoria
5 geometric-modeling-ppt-university-of-victoria5 geometric-modeling-ppt-university-of-victoria
5 geometric-modeling-ppt-university-of-victoria
Β 
Introduction to solid modeling
Introduction to solid modelingIntroduction to solid modeling
Introduction to solid modeling
Β 
Solid modeling
Solid modelingSolid modeling
Solid modeling
Β 
187186134 5-geometric-modeling
187186134 5-geometric-modeling187186134 5-geometric-modeling
187186134 5-geometric-modeling
Β 
CSG
CSGCSG
CSG
Β 
Curves and surfaces
Curves and surfacesCurves and surfaces
Curves and surfaces
Β 
Geometric Modeling
Geometric Modeling Geometric Modeling
Geometric Modeling
Β 
Solid modeling
Solid modelingSolid modeling
Solid modeling
Β 
1288
12881288
1288
Β 
Wireframe models
Wireframe modelsWireframe models
Wireframe models
Β 
1422798749.2779lecture 5
1422798749.2779lecture 51422798749.2779lecture 5
1422798749.2779lecture 5
Β 
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
Β 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realism
Β 
Solid modelling Slide share academic writing assignment 2
Solid modelling Slide share academic writing assignment 2Solid modelling Slide share academic writing assignment 2
Solid modelling Slide share academic writing assignment 2
Β 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
Β 

Similar to GEOMETRY-TOPOLOGY

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXBenjamin Bengfort
Β 
Lect12 graph mining
Lect12 graph miningLect12 graph mining
Lect12 graph miningHouw Liong The
Β 
On Integrating Information Visualization Techniques into Data Mining: A Revie...
On Integrating Information Visualization Techniques into Data Mining: A Revie...On Integrating Information Visualization Techniques into Data Mining: A Revie...
On Integrating Information Visualization Techniques into Data Mining: A Revie...Sushant Gautam
Β 
Interactive Design of Urban Spaces using Geometrical and Behavioral Modeling
Interactive Design of Urban Spaces using Geometrical and Behavioral ModelingInteractive Design of Urban Spaces using Geometrical and Behavioral Modeling
Interactive Design of Urban Spaces using Geometrical and Behavioral Modelingcvanegas
Β 
isprsarchives-XL-3-381-2014
isprsarchives-XL-3-381-2014isprsarchives-XL-3-381-2014
isprsarchives-XL-3-381-2014Meisam Yousefzadeh
Β 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernelsivaderivader
Β 
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesContextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesUniversitat Politècnica de Catalunya
Β 
Mujungi Davis
Mujungi DavisMujungi Davis
Mujungi DavisSaid Mujungi
Β 
Mujungi Davis
Mujungi DavisMujungi Davis
Mujungi DavisSaid Mujungi
Β 
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"Ivan Sahumbaiev "Deep Learning approaches meet 3D data"
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"Fwdays
Β 
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...Edge AI and Vision Alliance
Β 
5 geometric modeling
5 geometric modeling5 geometric modeling
5 geometric modelingAnkush Khansole
Β 
187186134 5-geometric-modeling
187186134 5-geometric-modeling187186134 5-geometric-modeling
187186134 5-geometric-modelingmanojg1990
Β 
Geometric theory task 3 3 d the basics
Geometric theory task 3 3 d the basicsGeometric theory task 3 3 d the basics
Geometric theory task 3 3 d the basicsThomas_Giblin_16
Β 
Exploring Architected Materials Using Machine Learning
Exploring Architected Materials Using Machine LearningExploring Architected Materials Using Machine Learning
Exploring Architected Materials Using Machine LearningAdvanced-Concepts-Team
Β 
Data models in geographical information system(GIS)
Data models in geographical information system(GIS)Data models in geographical information system(GIS)
Data models in geographical information system(GIS)Pramoda Raj
Β 
Mining Gems from the Data Visualization Literature
Mining Gems from the Data Visualization LiteratureMining Gems from the Data Visualization Literature
Mining Gems from the Data Visualization LiteratureNils Gehlenborg
Β 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )ravis205084
Β 
Geometric modeling
Geometric modelingGeometric modeling
Geometric modelingSenthilnathanV4
Β 

Similar to GEOMETRY-TOPOLOGY (20)

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
Β 
Lect12 graph mining
Lect12 graph miningLect12 graph mining
Lect12 graph mining
Β 
On Integrating Information Visualization Techniques into Data Mining: A Revie...
On Integrating Information Visualization Techniques into Data Mining: A Revie...On Integrating Information Visualization Techniques into Data Mining: A Revie...
On Integrating Information Visualization Techniques into Data Mining: A Revie...
Β 
Interactive Design of Urban Spaces using Geometrical and Behavioral Modeling
Interactive Design of Urban Spaces using Geometrical and Behavioral ModelingInteractive Design of Urban Spaces using Geometrical and Behavioral Modeling
Interactive Design of Urban Spaces using Geometrical and Behavioral Modeling
Β 
Four data models in GIS
Four data models in GISFour data models in GIS
Four data models in GIS
Β 
isprsarchives-XL-3-381-2014
isprsarchives-XL-3-381-2014isprsarchives-XL-3-381-2014
isprsarchives-XL-3-381-2014
Β 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
Β 
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of FeaturesContextless Object Recognition with Shape-enriched SIFT and Bags of Features
Contextless Object Recognition with Shape-enriched SIFT and Bags of Features
Β 
Mujungi Davis
Mujungi DavisMujungi Davis
Mujungi Davis
Β 
Mujungi Davis
Mujungi DavisMujungi Davis
Mujungi Davis
Β 
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"Ivan Sahumbaiev "Deep Learning approaches meet 3D data"
Ivan Sahumbaiev "Deep Learning approaches meet 3D data"
Β 
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
β€œIntroduction to Computer Vision with CNNs,” a Presentation from Mohammad Hag...
Β 
5 geometric modeling
5 geometric modeling5 geometric modeling
5 geometric modeling
Β 
187186134 5-geometric-modeling
187186134 5-geometric-modeling187186134 5-geometric-modeling
187186134 5-geometric-modeling
Β 
Geometric theory task 3 3 d the basics
Geometric theory task 3 3 d the basicsGeometric theory task 3 3 d the basics
Geometric theory task 3 3 d the basics
Β 
Exploring Architected Materials Using Machine Learning
Exploring Architected Materials Using Machine LearningExploring Architected Materials Using Machine Learning
Exploring Architected Materials Using Machine Learning
Β 
Data models in geographical information system(GIS)
Data models in geographical information system(GIS)Data models in geographical information system(GIS)
Data models in geographical information system(GIS)
Β 
Mining Gems from the Data Visualization Literature
Mining Gems from the Data Visualization LiteratureMining Gems from the Data Visualization Literature
Mining Gems from the Data Visualization Literature
Β 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
Β 
Geometric modeling
Geometric modelingGeometric modeling
Geometric modeling
Β 

More from Pirouz Nourian

Ar1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design OptimizationAr1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design OptimizationPirouz Nourian
Β 
Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1Pirouz Nourian
Β 
Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2Pirouz Nourian
Β 
Syntactic space syntax4generativedesign
Syntactic space syntax4generativedesignSyntactic space syntax4generativedesign
Syntactic space syntax4generativedesignPirouz Nourian
Β 
Tudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationPirouz Nourian
Β 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsPirouz Nourian
Β 
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPirouz Nourian
Β 
Preliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modellingPreliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modellingPirouz Nourian
Β 

More from Pirouz Nourian (8)

Ar1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design OptimizationAr1 twf030 lecture3.1: Design Optimization
Ar1 twf030 lecture3.1: Design Optimization
Β 
Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1Ar1 twf030 lecture1.1
Ar1 twf030 lecture1.1
Β 
Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2Ar1 twf030 lecture1.2
Ar1 twf030 lecture1.2
Β 
Syntactic space syntax4generativedesign
Syntactic space syntax4generativedesignSyntactic space syntax4generativedesign
Syntactic space syntax4generativedesign
Β 
Tudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimization
Β 
Intro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedpluginsIntro computational design_mega2016_1_with_recommendedplugins
Intro computational design_mega2016_1_with_recommendedplugins
Β 
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D Reconstruction
Β 
Preliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modellingPreliminaries of Analytic Geometry and Linear Algebra 3D modelling
Preliminaries of Analytic Geometry and Linear Algebra 3D modelling
Β 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
Β 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
Β 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
Β 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
Β 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
Β 
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube ExchangerAnamika Sarkar
Β 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
Β 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
Β 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
Β 
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...9953056974 Low Rate Call Girls In Saket, Delhi NCR
Β 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
Β 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
Β 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
Β 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
Β 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
Β 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoΓ£o Esperancinha
Β 

Recently uploaded (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
Β 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
Β 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
Β 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
Β 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
Β 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Β 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
Β 
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned ο»ΏTube Exchanger
Β 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
Β 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
Β 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
Β 
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
πŸ”9953056974πŸ”!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
Β 
young call girls in Rajiv ChowkπŸ” 9953056974 πŸ” Delhi escort Service
young call girls in Rajiv ChowkπŸ” 9953056974 πŸ” Delhi escort Serviceyoung call girls in Rajiv ChowkπŸ” 9953056974 πŸ” Delhi escort Service
young call girls in Rajiv ChowkπŸ” 9953056974 πŸ” Delhi escort Service
Β 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
Β 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
Β 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
Β 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
Β 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
Β 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Β 
young call girls in Green ParkπŸ” 9953056974 πŸ” escort Service
young call girls in Green ParkπŸ” 9953056974 πŸ” escort Serviceyoung call girls in Green ParkπŸ” 9953056974 πŸ” escort Service
young call girls in Green ParkπŸ” 9953056974 πŸ” escort Service
Β 

GEOMETRY-TOPOLOGY

  • 1. 11 Geometry & Topology in Computer Geometry & Design Dr.ir. Pirouz Nourian Assistant Professor of Design Informatics Department of Architectural Engineering & Technology Faculty of Architecture and Built Environment
  • 2. 22 A Line is something that looks like a line & works like a line! β€œ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 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 3. 33 What you see on the screen is only a rasterized image of the object! What you see is not what you get! Image: RenΓ© Magritte, ceci n'est pas une pipe (this is not a pipe) Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 4. 44 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 5. 55 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 6. 66 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 7. 77 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Escher’s Balcony
  • 8. 88 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling ℝ ℝ 𝟐 ℝ πŸ‘ 1D 2D 3D http://paulbourke.net/geometry/hyperspace/
  • 9. 99 Cartesian Product of Sets ℝ 𝟏 = ℝ ℝ 𝟐 = ℝ Γ— ℝ ℝ πŸ‘ = ℝ Γ— ℝ Γ— ℝ 1D 2D 3D http://paulbourke.net/geometry/hyperspace/ Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 𝐴 = {π‘Ž, 𝑏, 𝑐} 𝐡 = {1,2} 𝐴 Γ— 𝐡 = { π‘Ž, 1 , π‘Ž, 2 , 𝑏, 1 , 𝑏, 2 , 𝑐, 1 , (𝑐, 2)}
  • 10. 1010 ℝ 𝟏 = ℝ ℝ 𝟐 = ℝ Γ— ℝ ℝ πŸ‘ = ℝ Γ— ℝ Γ— ℝ 1D 2D 3D http://paulbourke.net/geometry/hyperspace/ 𝐴 = {π‘Ž, 𝑏, 𝑐} 𝐡 = {1,2} 𝐴 Γ— 𝐡 = { π‘Ž, 1 , π‘Ž, 2 , 𝑏, 1 , 𝑏, 2 , 𝑐, 1 , (𝑐, 2)} Cartesian Product of Sets Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling http://ndp.jct.ac.il/tutorials/discrete/node28.html
  • 11. 1111 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 1D 2D 3D Curved Spaces
  • 12. 1212 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 1D 2D 3D
  • 13. 1313 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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)
  • 14. 1414 On terminology β€’ Geometry: Point (0D), Curve(1D), Surface(2D), Solid (3D) [free-form] β€’ Geometry: Point (0D), Line(1D), Polygon(2D), Polyhedron (3D) [piecewise linear] β€’ Topology: Vertex(0D), Edge(1D), Face(2D), Body(3D) β€’ Graph Theory: Object, Link, (and n-Cliques) Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 15. 1515 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) Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Configraphics: Graph Theoretical Methods of Design and Analysis of Spatial Configurations, Nourian, P, 2016
  • 16. 1616 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling β€’ 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
  • 17. 1717 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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).
  • 18. 1818 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Parametric Curves in General How do numeric weights correspond to physical weights?
  • 19. 1919 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Splines in Computer Graphics All types of curves can be modeled as splines β€’
  • 20. 2020 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Bezier interpolation
  • 21. 2121 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling NURBS equations All from a summary by Markus Altmann: http://web.cs.wpi.edu/~matt/courses/cs563/talks/nurbs.html
  • 22. 2222 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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.
  • 23. 2323 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling NURBS Surfaces Rectangular Patches
  • 24. 2424 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Parametric Space Images courtesy of David Rutten, from Rhinoscript 101
  • 25. 2525 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Parametric Locations:
  • 26. 2626 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Bilbao Guggenheim Museum Bus stop near Sebastiaansbrug Delft
  • 27. 2727 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 1D 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?
  • 28. 2828 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 2D Curvature: Gaussian Images courtesy of Raja Issa, Essential Mathematics for Computational Design 𝐾 𝐺 = 𝐾 π‘šπ‘–π‘› 𝐾 π‘šπ‘Žπ‘₯
  • 29. 2929 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 2D Curvature: Gaussian 𝐾 𝐺 = 𝐾 π‘šπ‘–π‘› 𝐾 π‘šπ‘Žπ‘₯
  • 30. 3030 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Blending Surfaces & Continuity Images courtesy of Raja Issa, Essential Mathematics for Computational Design
  • 31. 3131 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 2D Curvature: Mean 𝐾 𝐺 = 𝐾 π‘šπ‘–π‘› +𝐾 π‘šπ‘Žπ‘₯ 2 Anish Kapoor, Marsyas, 2002, installation view, Tate Modern https://en.wikipedia.org/wiki/Mean_curvature
  • 32. 3232 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Boundary Representations
  • 33. 3333 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Boundary Representations β€’ 0D: Point β€’ 1D: Curve (represented by boundary Points) β€’ 2D: Surface (represented by boundary Curves) β€’ 3D: Solid (represented by boundary Surfaces)
  • 34. 3434 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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)
  • 35. 3535 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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
  • 36. 3636 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling The 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} β€’ 0-simplex: Point β€’ 1-simplex: Line β€’ 2-simplex: Triangle β€’ 3-simplex: Tetrahedron
  • 37. 3737 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling https://sites.google.com/site/dengwirda/jigsaw https://www.researchgate.net/publication/287398529_An_E fficient_Approach_for_Solving_Mesh_Optimization_Proble ms_Using_Newton%27s_Method/figures?lo=1
  • 38. 3838 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling β€’ 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}
  • 39. 3939 β€’ 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 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 40. 4040 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 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 41. 4141 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. Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 42. 4242 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 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 43. 4343 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. Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 44. 4444 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. Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 45. 4545 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 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 46. 4646 Mesh Topology: Homeomorphism Euler-Poincare Characteristic: key to homeomorphism β€’ Irrespective of tessellation! πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = βˆ’2 π‘“π‘œπ‘Ÿ π‘‘π‘œπ‘’π‘π‘™π‘’ π‘‘π‘œπ‘Ÿπ‘–(β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Ž 2 β„Žπ‘œπ‘™π‘’π‘ ) πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 0 π‘“π‘œπ‘Ÿ π‘‘π‘œπ‘Ÿπ‘– (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Ž 1 β„Žπ‘œπ‘™π‘’) πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 1 π‘“π‘œπ‘Ÿ π‘‘π‘–π‘ π‘˜π‘  (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘’π‘Ÿπ‘“π‘Žπ‘π‘’π‘ ) πœ’ 𝑀 = 𝑉 βˆ’ 𝐸 + 𝐹 = 2 π‘“π‘œπ‘Ÿ π‘ π‘β„Žπ‘’π‘Ÿπ‘’π‘  (β„Žπ‘œπ‘šπ‘’π‘œπ‘šπ‘œπ‘Ÿπ‘β„Žπ‘–π‘ π‘‘π‘œ π‘ π‘œπ‘™π‘–π‘‘π‘  π‘€π‘–π‘‘β„Žπ‘œπ‘’π‘‘ β„Žπ‘œπ‘™π‘’π‘ ) Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 47. 4747 Mesh Topology: Homeomorphism Euler-Poincare Characteristic: key to homeomorphism β€’ Irrespective of tessellation! Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 48. 4848 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Valid Mesh (often expected to be a 2–Manifold Surface)
  • 49. 4949 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? Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 50. 5050 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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
  • 51. 5151 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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.
  • 52. 5252 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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
  • 53. 5353 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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)
  • 54. 5454 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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)
  • 55. 5555 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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
  • 56. 5656 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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
  • 57. 5757 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Mesh Geometry β€’ Polygon vs Face β€’ Triangulate β€’ Quadrangulate
  • 58. 5858 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Mesh Intersections β€’ Boolean operation on Meshes: 1. 𝐴 βˆͺ 𝐡: Boolean Union 2. 𝐴 βˆ’ 𝐡: Boolean Difference 3. 𝐴 ∩ 𝐡: Boolean Intersection
  • 59. 5959 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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?
  • 60. 6060 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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?
  • 61. 6161 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Repairing/Reconstructing Geometry β€’ Example: Coons’ Patch β€’ Code it and get bonus points! Image courtesy of CVG Lab
  • 62. 6262 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling 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; }
  • 63. 6363 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Mesh Smoothing (Relaxation) Kangaroo Physics: https://vimeo.com/27484394
  • 64. 6464 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling
  • 65. 6565 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Literal Boundary Representation A strategy for design modeling/3D sketching Curves Surfaces Solids Curves From Objects Points http://forums.newtek.com/showthread.php?143633-Can-Lightwave-Model-an-airplane-boat-Hull-Like-the-way-they-do-in-this-C4D-tutorial
  • 66. 6666 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Transformative Modeling A different strategy for design modeling/3D sketching Solids Topological Transformations Transformed Solids Curves From Objects https://3dprint.com/88049/3d-printed-topology-joke/
  • 67. 6767 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Subdivision Modelling A strategy for design modeling/3D sketching Model a Simple BRep Subdivide to Smoothen http://slodive.com/design/3ds-max-modeling-tutorials/
  • 68. 6868 Data Models Types of Geometry Dimensionality Manifolds Terminology NURBS B-Reps Simplexes Polyhedral Meshes Polygon Meshes Topology Poincare Duality Topological Model Normal Vectors Meshing Mesh Smoothing Mesh Subdivision Design Modelling Implicit modelling as level sets A strategy for design modeling/3D sketching Model a Scalar Field Get Iso-surfaces