Your SlideShare is downloading.
×

Free with a 30 day trial from Scribd

- 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
- 15. 1515 https://www.nature.com/articles/nphoton.2015.244 Rubber-Sheet Geometry? 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
- 41. 4141 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 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
- 50. 5050 Mesh Topology: Homeomorphism Euler-Poincare Characteristic: key to homeomorphism • Irrespective of tessellation! 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = −2 𝑓𝑜𝑟 𝑑𝑜𝑢𝑏𝑙𝑒 𝑡𝑜𝑟𝑖(ℎ𝑜𝑚𝑒𝑜𝑚𝑜𝑟𝑝ℎ𝑖𝑐 𝑡𝑜 𝑠𝑜𝑙𝑖𝑑𝑠 𝑤𝑖𝑡ℎ 2 ℎ𝑜𝑙𝑒𝑠) 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 0 𝑓𝑜𝑟 𝑡𝑜𝑟𝑖 (ℎ𝑜𝑚𝑒𝑜𝑚𝑜𝑟𝑝ℎ𝑖𝑐 𝑡𝑜 𝑠𝑜𝑙𝑖𝑑𝑠 𝑤𝑖𝑡ℎ 1 ℎ𝑜𝑙𝑒) 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 1 𝑓𝑜𝑟 𝑑𝑖𝑠𝑘𝑠 (ℎ𝑜𝑚𝑒𝑜𝑚𝑜𝑟𝑝ℎ𝑖𝑐 𝑡𝑜 𝑠𝑢𝑟𝑓𝑎𝑐𝑒𝑠) 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 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
- 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
- 71. 7171 Questions: p.nourian@tudelft.nl