SlideShare a Scribd company logo
1Challenge the future
Boundary Representations 2:
Polygon Mesh Models
Ir. Pirouz Nourian
PhD candidate & Instructor, chair of Design Informatics, since 2010
MSc in Architecture 2009
BSc in Control Engineering 2005
Geo1004, Geomatics Master, Directed by Dr. ir. Sisi Zlatannova
2Challenge the future
• 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!
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}
3Challenge the future
• 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
4Challenge the future
• formally an ordered set of Vertices, Edges and Faces or 𝑀 = (𝑉, 𝐸, 𝐹)
• The ordered set describes a set of vertices and a set of faces describing how the vertices construct convex polygons by the
set of edges connecting them when embedded in ℝ3
. (In a set there is no duplicate element. So, the vertices, edges and
faces in the above definition are unique in their sets and have no duplicates.)
• Edges and faces should not intersect or self-intersect.
• Edges correspond to straight lines, faces are generators of convex and planar polygons. A mesh represents a polyhedron if
it has planar faces without self-intersection.
• Mesh has a topological structure, in which edges are tuples of vertex indices and faces are composed of (CW/CCW
ordered) tuples of integers referring to indices of the vertices or edges
• Ensuring flatness of faces is most convenient with triangular faces. This is one of many reasons that triangular meshes are
most common and used for rendering engines.
• Faces or edges should not be degenerate; e.g. an edge that effectively corresponds to a line of length zero, or a face
giving rise to a polygon that has zero surface area. Faces (polygons) should not be self intersecting; edges should not self-
intersect either.
Proper Mesh
A mesh that does not need to be corrected!
5Challenge the future
Mesh Basics
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
6Challenge the future
Mesh Basics
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.
7Challenge the future
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!)
Proper Mesh
A mesh that does not need to be corrected!?
• 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 not orientable.
8Challenge the future
Mesh Basics
Some preliminary definitions: boundary denoted as 𝜹
• The boundary is the set of edges incident to only one face of a manifold.
Therefore: we can conceptualize the boundary as the union of all faces of a
manifold. We can conclude that:
• If every vertex has a closed fan (or there is no edge of valence less than 2),
the given manifold has no boundary. Example: a box!
non-manifold boundary manifold boundaryno boundary
9Challenge the future
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.
10Challenge the future
Mesh Topology: Homeomorphism
Euler-Poincare Characteristic: key to homeomorphism
Images courtesy of Dr. Ching-Kuang Shene from Michigan Technological University
𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 𝑔 − 𝛿
• 𝛿 is the number of boundaries
• 𝑔 is the number of “genera” (pl. of genus) or holes
• Irrespective of tessellation!
𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 2 − 0 = −2
11Challenge the future
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 n-dimension
• Riddle: The above definition implies that for mapping some local features
2D maps are fine. What about the whole globe? That is not
homoeomorphic to a rectangular surface! How do we do it then?
12Challenge the future
Quiz:
Check Euler-Poincare Characteristic on two spherical meshes
• Question: we know that the Euler-Poincare Characteristic is independent of
tessellation; check this fact on the two spheres below; explain the discrepancy.
Hints: http://4.rhino3d.com/5/rhinocommon/ look at mesh [class] members
𝜒 𝑀 = 2𝜒 𝑀 = 66!?
13Challenge the future
Mesh Geometry
• Polygon vs Face
• Triangulate
• Quadrangulate
14Challenge the future
Mesh Geometry
• Boolean operation on meshes:
1. 𝐴 ∪ 𝐵: Boolean Union
2. 𝐴 − 𝐵: Boolean Difference
3. 𝐴 ∩ 𝐵: Boolean Intersection
• why do they fail sometimes?
15Challenge the future
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)
16Challenge the future
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
17Challenge the future
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
18Challenge the future
Repairing/Reconstructing Geometry
• Example: Coons’ Patch
• Code it and get bonus points!
Image courtesy of CVG Lab
19Challenge the future
Mesh Smoothing
•
For k As Integer=0 To L - 1
Dim SmoothV As New List(Of Point3d)
For i As Integer=0 To M.Vertices.Count - 1
Dim Ngh = Neighbors(M, i)
Dim NVertex As New Point3d(0, 0, 0)
For Each neighbor As point3d In Ngh
NVertex = NVertex + neighbor
Next
NVertex = (1 / Ngh.Count) * NVertex
SmoothV.Add(NVertex)
Next
M.Vertices.Clear
M.Vertices.AddVertices(SmoothV)
A = M
Next
20Challenge the future
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?
21Challenge the future
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?
22Challenge the future
(2D Curvature Analysis: Mesh)
• Discretization
Mesh
• Measurement
At vertices
• Attribution
To vertices
Curvature Estimation on Meshes?
23Challenge the future
Curvature Estimation on Meshes
• What was the definition of curvature?
• Change of tangents or change of normals?
• How to measure change of normals?
• ProVec = vec - (vec * M.Normals(i)) * M.Normals(i)
• Projected_Vector=Vector-(Vector.Normal).Normal Why?
• Maximum & Minimum change
• Estimation of Gaussian & Mean curvature on mesh vertices
24Challenge the future
Questions? p.nourian@tudelft.nl

More Related Content

What's hot

Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithmPooja Dixit
 
3 d viewing projection
3 d viewing  projection3 d viewing  projection
3 d viewing projectionPooja Dixit
 
On NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modellingOn NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modellingPirouz Nourian
 
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath YogiB. SC CSIT Computer Graphics Unit 2 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath YogiTekendra Nath Yogi
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalPunyajoy Saha
 
Viewing transformation
Viewing transformationViewing transformation
Viewing transformationUdayan Gupta
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer GraphicsKamal Acharya
 
Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)RohitK71
 
The n Queen Problem
The n Queen ProblemThe n Queen Problem
The n Queen ProblemSukrit Gupta
 
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Lab By Tekendra Nath YogiB. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Lab By Tekendra Nath YogiTekendra Nath Yogi
 
Image Interpolation Techniques with Optical and Digital Zoom Concepts
Image Interpolation Techniques with Optical and Digital Zoom ConceptsImage Interpolation Techniques with Optical and Digital Zoom Concepts
Image Interpolation Techniques with Optical and Digital Zoom Conceptsmmjalbiaty
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithmsKumar
 
Visible Surface Detection
Visible Surface DetectionVisible Surface Detection
Visible Surface DetectionAmitBiswas99
 
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath YogiB. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath YogiTekendra Nath Yogi
 
Lecture _Line Scan Conversion.ppt
Lecture _Line Scan Conversion.pptLecture _Line Scan Conversion.ppt
Lecture _Line Scan Conversion.pptGaganvirKaur
 
Computer graphics unit 4th
Computer graphics unit 4thComputer graphics unit 4th
Computer graphics unit 4thTEJVEER SINGH
 
From Image Processing To Computer Vision
From Image Processing To Computer VisionFrom Image Processing To Computer Vision
From Image Processing To Computer VisionJoud Khattab
 

What's hot (20)

Cyrus beck line clipping algorithm
Cyrus beck line clipping algorithmCyrus beck line clipping algorithm
Cyrus beck line clipping algorithm
 
3 d viewing projection
3 d viewing  projection3 d viewing  projection
3 d viewing projection
 
On NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modellingOn NURBS Geometry Representation in 3D modelling
On NURBS Geometry Representation in 3D modelling
 
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath YogiB. SC CSIT Computer Graphics Unit 2 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit 2 By Tekendra Nath Yogi
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
Viewing transformation
Viewing transformationViewing transformation
Viewing transformation
 
Output primitives in Computer Graphics
Output primitives in Computer GraphicsOutput primitives in Computer Graphics
Output primitives in Computer Graphics
 
Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)Computer graphics curves and surfaces (1)
Computer graphics curves and surfaces (1)
 
The n Queen Problem
The n Queen ProblemThe n Queen Problem
The n Queen Problem
 
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Lab By Tekendra Nath YogiB. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Lab By Tekendra Nath Yogi
 
Image Interpolation Techniques with Optical and Digital Zoom Concepts
Image Interpolation Techniques with Optical and Digital Zoom ConceptsImage Interpolation Techniques with Optical and Digital Zoom Concepts
Image Interpolation Techniques with Optical and Digital Zoom Concepts
 
Fill area algorithms
Fill area algorithmsFill area algorithms
Fill area algorithms
 
DDA algorithm
DDA algorithmDDA algorithm
DDA algorithm
 
raycasting. ppt
raycasting. pptraycasting. ppt
raycasting. ppt
 
Visible Surface Detection
Visible Surface DetectionVisible Surface Detection
Visible Surface Detection
 
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath YogiB. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
B. SC CSIT Computer Graphics Unit1.1 By Tekendra Nath Yogi
 
Lecture _Line Scan Conversion.ppt
Lecture _Line Scan Conversion.pptLecture _Line Scan Conversion.ppt
Lecture _Line Scan Conversion.ppt
 
Computer graphics unit 4th
Computer graphics unit 4thComputer graphics unit 4th
Computer graphics unit 4th
 
visible surface detection
visible surface detectionvisible surface detection
visible surface detection
 
From Image Processing To Computer Vision
From Image Processing To Computer VisionFrom Image Processing To Computer Vision
From Image Processing To Computer Vision
 

Viewers also liked

Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Pirouz 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
 
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPirouz 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
 
Surface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportationSurface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportationGuillaume Matheron
 
BEST 3D COMPUTER GRAPHICS TOOLS
BEST 3D COMPUTER GRAPHICS TOOLSBEST 3D COMPUTER GRAPHICS TOOLS
BEST 3D COMPUTER GRAPHICS TOOLSEugeneFitchett123
 
Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Google
 
Polygon Notes
Polygon NotesPolygon Notes
Polygon Notesacavis
 
projections - engineering drawing
projections - engineering drawing projections - engineering drawing
projections - engineering drawing Krishna Gali
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer GraphicsAdri Jovin
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics FundamentalsMuhammed Afsal Villan
 
3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer GraphicsFaraz Akhtar
 
Polygons (its meaning, nature and types) for grade v
Polygons (its meaning, nature and types) for grade vPolygons (its meaning, nature and types) for grade v
Polygons (its meaning, nature and types) for grade v121394
 

Viewers also liked (20)

Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
Point Cloud Processing: Estimating Normal Vectors and Curvature Indicators us...
 
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
 
Point Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D ReconstructionPoint Cloud Segmentation for 3D Reconstruction
Point Cloud Segmentation for 3D Reconstruction
 
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
 
Surface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportationSurface reconstruction from point clouds using optimal transportation
Surface reconstruction from point clouds using optimal transportation
 
Bbc coordinates
Bbc coordinatesBbc coordinates
Bbc coordinates
 
BEST 3D COMPUTER GRAPHICS TOOLS
BEST 3D COMPUTER GRAPHICS TOOLSBEST 3D COMPUTER GRAPHICS TOOLS
BEST 3D COMPUTER GRAPHICS TOOLS
 
Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation
 
Unit 3
Unit 3Unit 3
Unit 3
 
OpenGL 4.4 Reference Card
OpenGL 4.4 Reference CardOpenGL 4.4 Reference Card
OpenGL 4.4 Reference Card
 
Polygon Notes
Polygon NotesPolygon Notes
Polygon Notes
 
projections - engineering drawing
projections - engineering drawing projections - engineering drawing
projections - engineering drawing
 
3 D Graphics
3 D Graphics3 D Graphics
3 D Graphics
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals3D Graphics : Computer Graphics Fundamentals
3D Graphics : Computer Graphics Fundamentals
 
Object representations
Object representationsObject representations
Object representations
 
2d/3D transformations in computer graphics(Computer graphics Tutorials)
2d/3D transformations in computer graphics(Computer graphics Tutorials)2d/3D transformations in computer graphics(Computer graphics Tutorials)
2d/3D transformations in computer graphics(Computer graphics Tutorials)
 
3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics3D Graphics & Rendering in Computer Graphics
3D Graphics & Rendering in Computer Graphics
 
Polygons (its meaning, nature and types) for grade v
Polygons (its meaning, nature and types) for grade vPolygons (its meaning, nature and types) for grade v
Polygons (its meaning, nature and types) for grade v
 

Similar to Polygon Mesh Representation

Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017Pirouz Nourian
 
Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)Christian Kehl
 
Chapter 8-deflections
Chapter 8-deflectionsChapter 8-deflections
Chapter 8-deflectionsISET NABEUL
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingJavith Saleem
 
ESA Module 5 Part-B ME832. by Dr. Mohammed Imran
ESA Module 5 Part-B ME832. by Dr. Mohammed ImranESA Module 5 Part-B ME832. by Dr. Mohammed Imran
ESA Module 5 Part-B ME832. by Dr. Mohammed ImranMohammed Imran
 
Nonlinear Beam theory
Nonlinear Beam theoryNonlinear Beam theory
Nonlinear Beam theoryRobin Jain
 
Algebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxAlgebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxWillS36
 
Algebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxAlgebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxWillSoo1
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)Priscilla CPG
 
SURFACE MODELLING .pptx
SURFACE MODELLING .pptxSURFACE MODELLING .pptx
SURFACE MODELLING .pptxjntuhcej
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3SIMONTHOMAS S
 

Similar to Polygon Mesh Representation (20)

Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017Mesh final pzn_geo1004_2015_f3_2017
Mesh final pzn_geo1004_2015_f3_2017
 
Solid modeling
Solid modelingSolid modeling
Solid modeling
 
ae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.pptae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.ppt
 
07 mesh
07 mesh07 mesh
07 mesh
 
On mesh
On meshOn mesh
On mesh
 
Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)Topology-conform segmented volume meshing of volume images (Oct 2012)
Topology-conform segmented volume meshing of volume images (Oct 2012)
 
UCSD NANO106 - 01 - Introduction to Crystallography
UCSD NANO106 - 01 - Introduction to CrystallographyUCSD NANO106 - 01 - Introduction to Crystallography
UCSD NANO106 - 01 - Introduction to Crystallography
 
Chapter 8-deflections
Chapter 8-deflectionsChapter 8-deflections
Chapter 8-deflections
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
 
ESA Module 5 Part-B ME832. by Dr. Mohammed Imran
ESA Module 5 Part-B ME832. by Dr. Mohammed ImranESA Module 5 Part-B ME832. by Dr. Mohammed Imran
ESA Module 5 Part-B ME832. by Dr. Mohammed Imran
 
SolidModeling.ppt
SolidModeling.pptSolidModeling.ppt
SolidModeling.ppt
 
Nonlinear Beam theory
Nonlinear Beam theoryNonlinear Beam theory
Nonlinear Beam theory
 
Algebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxAlgebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptx
 
Algebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptxAlgebraic Task - Suspension Bridges.pptx
Algebraic Task - Suspension Bridges.pptx
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
 
SURFACE MODELLING .pptx
SURFACE MODELLING .pptxSURFACE MODELLING .pptx
SURFACE MODELLING .pptx
 
testpang
testpangtestpang
testpang
 
Floor planning ppt
Floor planning pptFloor planning ppt
Floor planning ppt
 
moire
moiremoire
moire
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3
 

More from Pirouz Nourian

Geo1004 lecture 1_topology&topological_datamodels_final
Geo1004 lecture 1_topology&topological_datamodels_finalGeo1004 lecture 1_topology&topological_datamodels_final
Geo1004 lecture 1_topology&topological_datamodels_finalPirouz 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 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational DesignAr1 twf030 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational DesignPirouz Nourian
 
Syntactic space syntax4generativedesign
Syntactic space syntax4generativedesignSyntactic space syntax4generativedesign
Syntactic space syntax4generativedesignPirouz Nourian
 

More from Pirouz Nourian (7)

Geo1004 lecture 1_topology&topological_datamodels_final
Geo1004 lecture 1_topology&topological_datamodels_finalGeo1004 lecture 1_topology&topological_datamodels_final
Geo1004 lecture 1_topology&topological_datamodels_final
 
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 lecture2.2
Ar1 twf030 lecture2.2Ar1 twf030 lecture2.2
Ar1 twf030 lecture2.2
 
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
 
Ar1 twf030 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational DesignAr1 twf030 lecture2.1: Geometry and Topology in Computational Design
Ar1 twf030 lecture2.1: Geometry and Topology in Computational Design
 
Syntactic space syntax4generativedesign
Syntactic space syntax4generativedesignSyntactic space syntax4generativedesign
Syntactic space syntax4generativedesign
 

Recently uploaded

KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringDr. Radhey Shyam
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringC Sai Kiran
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientistgettygaming1
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...Amil baba
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageRCC Institute of Information Technology
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdfKamal Acharya
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxMd. Shahidul Islam Prodhan
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdfAhmedHussein950959
 
Peek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfPeek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfAyahmorsy
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfKamal Acharya
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdfKamal Acharya
 
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisIT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisDr. Radhey Shyam
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionjeevanprasad8
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfAbrahamGadissa
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringC Sai Kiran
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdfKamal Acharya
 

Recently uploaded (20)

KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and ClusteringKIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
KIT-601 Lecture Notes-UNIT-4.pdf Frequent Itemsets and Clustering
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientist
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdfONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
ONLINE VEHICLE RENTAL SYSTEM PROJECT REPORT.pdf
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Peek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfPeek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdf
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisIT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 

Polygon Mesh Representation

  • 1. 1Challenge the future Boundary Representations 2: Polygon Mesh Models Ir. Pirouz Nourian PhD candidate & Instructor, chair of Design Informatics, since 2010 MSc in Architecture 2009 BSc in Control Engineering 2005 Geo1004, Geomatics Master, Directed by Dr. ir. Sisi Zlatannova
  • 2. 2Challenge the future • 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! 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}
  • 3. 3Challenge the future • 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
  • 4. 4Challenge the future • formally an ordered set of Vertices, Edges and Faces or 𝑀 = (𝑉, 𝐸, 𝐹) • The ordered set describes a set of vertices and a set of faces describing how the vertices construct convex polygons by the set of edges connecting them when embedded in ℝ3 . (In a set there is no duplicate element. So, the vertices, edges and faces in the above definition are unique in their sets and have no duplicates.) • Edges and faces should not intersect or self-intersect. • Edges correspond to straight lines, faces are generators of convex and planar polygons. A mesh represents a polyhedron if it has planar faces without self-intersection. • Mesh has a topological structure, in which edges are tuples of vertex indices and faces are composed of (CW/CCW ordered) tuples of integers referring to indices of the vertices or edges • Ensuring flatness of faces is most convenient with triangular faces. This is one of many reasons that triangular meshes are most common and used for rendering engines. • Faces or edges should not be degenerate; e.g. an edge that effectively corresponds to a line of length zero, or a face giving rise to a polygon that has zero surface area. Faces (polygons) should not be self intersecting; edges should not self- intersect either. Proper Mesh A mesh that does not need to be corrected!
  • 5. 5Challenge the future Mesh Basics 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
  • 6. 6Challenge the future Mesh Basics 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.
  • 7. 7Challenge the future 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!) Proper Mesh A mesh that does not need to be corrected!? • 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 not orientable.
  • 8. 8Challenge the future Mesh Basics Some preliminary definitions: boundary denoted as 𝜹 • The boundary is the set of edges incident to only one face of a manifold. Therefore: we can conceptualize the boundary as the union of all faces of a manifold. We can conclude that: • If every vertex has a closed fan (or there is no edge of valence less than 2), the given manifold has no boundary. Example: a box! non-manifold boundary manifold boundaryno boundary
  • 9. 9Challenge the future 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.
  • 10. 10Challenge the future Mesh Topology: Homeomorphism Euler-Poincare Characteristic: key to homeomorphism Images courtesy of Dr. Ching-Kuang Shene from Michigan Technological University 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 𝑔 − 𝛿 • 𝛿 is the number of boundaries • 𝑔 is the number of “genera” (pl. of genus) or holes • Irrespective of tessellation! 𝜒 𝑀 = 𝑉 − 𝐸 + 𝐹 = 2 1 − 2 − 0 = −2
  • 11. 11Challenge the future 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 n-dimension • Riddle: The above definition implies that for mapping some local features 2D maps are fine. What about the whole globe? That is not homoeomorphic to a rectangular surface! How do we do it then?
  • 12. 12Challenge the future Quiz: Check Euler-Poincare Characteristic on two spherical meshes • Question: we know that the Euler-Poincare Characteristic is independent of tessellation; check this fact on the two spheres below; explain the discrepancy. Hints: http://4.rhino3d.com/5/rhinocommon/ look at mesh [class] members 𝜒 𝑀 = 2𝜒 𝑀 = 66!?
  • 13. 13Challenge the future Mesh Geometry • Polygon vs Face • Triangulate • Quadrangulate
  • 14. 14Challenge the future Mesh Geometry • Boolean operation on meshes: 1. 𝐴 ∪ 𝐵: Boolean Union 2. 𝐴 − 𝐵: Boolean Difference 3. 𝐴 ∩ 𝐵: Boolean Intersection • why do they fail sometimes?
  • 15. 15Challenge the future 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)
  • 16. 16Challenge the future 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
  • 17. 17Challenge the future 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
  • 18. 18Challenge the future Repairing/Reconstructing Geometry • Example: Coons’ Patch • Code it and get bonus points! Image courtesy of CVG Lab
  • 19. 19Challenge the future Mesh Smoothing • For k As Integer=0 To L - 1 Dim SmoothV As New List(Of Point3d) For i As Integer=0 To M.Vertices.Count - 1 Dim Ngh = Neighbors(M, i) Dim NVertex As New Point3d(0, 0, 0) For Each neighbor As point3d In Ngh NVertex = NVertex + neighbor Next NVertex = (1 / Ngh.Count) * NVertex SmoothV.Add(NVertex) Next M.Vertices.Clear M.Vertices.AddVertices(SmoothV) A = M Next
  • 20. 20Challenge the future 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?
  • 21. 21Challenge the future 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?
  • 22. 22Challenge the future (2D Curvature Analysis: Mesh) • Discretization Mesh • Measurement At vertices • Attribution To vertices Curvature Estimation on Meshes?
  • 23. 23Challenge the future Curvature Estimation on Meshes • What was the definition of curvature? • Change of tangents or change of normals? • How to measure change of normals? • ProVec = vec - (vec * M.Normals(i)) * M.Normals(i) • Projected_Vector=Vector-(Vector.Normal).Normal Why? • Maximum & Minimum change • Estimation of Gaussian & Mean curvature on mesh vertices
  • 24. 24Challenge the future Questions? p.nourian@tudelft.nl