Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

- Piecewise linear structures on topo... by edng uyen 210 views
- Semantic-based Segmentation and Ann... by University PARIS-SUD 1918 views
- Manifold Learning by Phong Vo 2691 views
- 2015-12-17 research seminar 3rd part by ifi8106tlu 115 views
- Topology estimation of a digital su... by IAEME Publication 252 views
- Enhanced Functionality On Plastic U... by Xennia Technology 2421 views

1,343 views

Published on

We present TopMesh, a tool for extracting topological information from non-manifold three-dimensional

objects with parts of non-uniform dimensions. The boundary of such objects is discretized as a mesh of

triangles and of dangling edges, representing one-dimensional parts of the object. The geometrical and

topological information extracted include the number of elements in the mesh, the number of non-manifold

singularities and the Betti numbers, which characterize the topology of an object independently of the discretization of its boundary. TopMesh also computes a decomposition of the mesh into connected parts of uniform dimension, into edge-connected components formed by triangles, and into oriented edge-connected sub-meshes. We describe the functionalities of TopMesh and the algorithms implementing them.

No Downloads

Total views

1,343

On SlideShare

0

From Embeds

0

Number of Embeds

4

Shares

0

Downloads

2

Comments

0

Likes

1

No embeds

No notes for slide

- 1. TopMesh A Tool for Extracting Topological Information From Non-Manifold Objects Leila De Floriani*, Laura Papaleo*^ * University of Genova (ITALY) ^ICT Department, Province of Genova (ITALY) Annie Hui University of Maryland (USA) 20/05/10 GRAPP2010 - Geometric Modeling
- 2. Overview <ul><li>Motivations </li></ul><ul><li>Background </li></ul><ul><ul><li>Non-manifold singularities </li></ul></ul><ul><ul><li>TS library </li></ul></ul><ul><li>TopMesh </li></ul><ul><ul><li>Extracting topological information </li></ul></ul><ul><ul><li>Computing the 2-cycles </li></ul></ul><ul><li>Results </li></ul><ul><li>Conclusions </li></ul>GRAPP2010 - Geometric Modeling 20/05/10
- 3. Non-manifold shapes: what? <ul><li>Manifold shapes shapes in which every point has a neighborhood homeomorphic to either an open ball (internal point), or to an open half-ball (boundary point) </li></ul><ul><li>Non-manifold singularities : set of points in a non-manifold shape which do not satisfy the manifold condition </li></ul><ul><li>Non-manifold shapes : shapes with a complex geometric and topological structure </li></ul><ul><ul><li>non-manifold singularities </li></ul></ul><ul><ul><li>parts of different dimensions (2D, 1D, …) </li></ul></ul>GRAPP2010 - Geometric Modeling 20/05/10
- 4. Non-manifold shapes: when? <ul><li>Result of a process of abstraction (idealization) applied to manifold shapes to produce iconic (idealized) models </li></ul><ul><li>Applications: </li></ul><ul><ul><li>Finite element analysis and simulation </li></ul></ul><ul><ul><li>Animation </li></ul></ul><ul><li>Non-manifold shapes often described through simplicial meshes </li></ul>GRAPP2010 - Geometric Modeling Original Idealized 20/05/10
- 5. Objective of the work <ul><li>To address the problem of extracting topological characteristics from non-manifold 3D shapes containing parts of different dimensions, discretized as simplicial complexes </li></ul><ul><li>To design and develop a tool to compute the topological information from non-manifold shapes </li></ul><ul><li>Useful for: </li></ul><ul><ul><li>Build a structural model based on topology </li></ul></ul><ul><ul><li>Be the basis for semantic annotation and understanding of complex shapes </li></ul></ul>GRAPP2010 - Geometric Modeling Semantic model 20/05/10 Geometric model Structural model Motor Blade Blade Blade Blade
- 6. Related work <ul><li>Segmentation techniques for manifold simplicial shapes [Shamir, 2006, Eurographics STAR] </li></ul><ul><li>Techniques for form feature (protrusions, handles…) extraction and identification from manifold CAD objects [Shah et al., 2001, survey] </li></ul><ul><li>Representations of uniformly dimensional non-manifold shapes as collections of manifolds for CAD modeling and compression [Falcidieno et al., 1992; Gueziec et al., 1998] </li></ul><ul><li>On Homology groups and simplicial complexes: </li></ul><ul><ul><li>combinatorial stratification for 2D cellular models [Pesco et al., 2004] </li></ul></ul><ul><ul><li>incremental algorithm for Betti numbers in simplicial 3-complexes [Delfinado Edelsbrunner, 1998] </li></ul></ul><ul><ul><li>approach to compute generators of the homology groups for compacted triangulated 3-manifolds [Dey Guha 1998] </li></ul></ul>GRAPP2010 - Geometric Modeling 20/05/10
- 7. Background: triangle-segment mesh <ul><li>Definition : it is a 2D mesh discretizing the boundary of a non-manifold, non-regular three-dimensional object. </li></ul><ul><ul><li>It is a 2D simplicial complex embedded in the 3D Euclidean space [Agoston, 2005]. </li></ul></ul><ul><li>Entities: triangles, wire-edges (edges that do not bound any triangles), vertices. </li></ul><ul><li>The collection of all the vertices and edges form the 1- skeleton of the mesh . </li></ul><ul><li>No wire-edges “simple” triangle mesh. </li></ul><ul><li>At least one edge bounding only one triangle triangle mesh with boundary . </li></ul>20/05/10 GRAPP2010 - Geometric Modeling yes no no
- 8. Background: Vertex: manifold & non-manifold <ul><li>Be T a triangle-segment mesh, v a vertex </li></ul><ul><ul><li>v is a manifold vertex if it belongs only to one or two wire-edges or the Link(v) consists of a closed or open chains of edges </li></ul></ul><ul><ul><li>v is non-manifold otherwise </li></ul></ul><ul><li>Recall: </li></ul><ul><ul><li>Star(v): set of triangles & edges incident at v . </li></ul></ul><ul><ul><li>Link(v): set of edges & vertices in the Star( v ) not incident in v </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling A manifold vertex v A non-manifold vertex v
- 9. Background: Edge: manifold & non-manifold <ul><li>Be T a triangle-segment mesh, e an edge </li></ul><ul><ul><li>e is a manifold edge if its Link consists of one or two vertices </li></ul></ul><ul><ul><li>otherwise e is non-manifold </li></ul></ul><ul><li>Recall: </li></ul><ul><ul><li>Star(e): set of triangles sharing e . </li></ul></ul><ul><ul><li>Link(e): set of vertices of the triangles in Star( e ) not included in e </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling e A manifold edge e A non-manifold edge
- 10. Background: The Betti numbers <ul><li>Fundamental characterization of a 3D object </li></ul><ul><ul><li>β0: number of connected components, </li></ul></ul><ul><ul><li>β1: number of 1-cycles (independent tunnels, through holes…) </li></ul></ul><ul><ul><li>β2 : number of 2-cycles (parts of the object which enclose empty space -voids). </li></ul></ul><ul><li>Betti numbers together in the Euler Poincare’s formula v – e + f = β0 – β1 + β2 </li></ul>20/05/10 GRAPP2010 - Geometric Modeling one 1-cycle and one 2-cycles two 2-cycles
- 11. The TS data structure: Encoding a Non-Manifold Model <ul><li>Generalizes the Indexed structure with Adjacencies to the non-manifold case </li></ul><ul><li>Encodes all vertices and top simplexes (triangles & wire edges) </li></ul><ul><li>Relations: </li></ul><ul><ul><li>wire-edge-vertex (for each e its vertices) </li></ul></ul><ul><ul><li>triangle-vertex (for each t its vertices) </li></ul></ul><ul><ul><li>triangle-triangle-at-edge [partial] ( for a triangle t and for each e those triangle(s) immediately preceding and succeeding t around e ) </li></ul></ul><ul><ul><li>vertex-triangle (for each v one triangle for each 1-connected component incident at v ) </li></ul></ul><ul><ul><li>vertex-wire-edge (for each v all the wire edges incident v ) </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling *De Floriani et al. CAD Journal (2004)
- 12. TopMesh: basic functionalities <ul><ul><li>1) non-manifold singularities </li></ul></ul><ul><ul><ul><li>non-manifold vertices, non-manifold edges and wire-edges </li></ul></ul></ul><ul><ul><li>2) components with various degrees of connectivity </li></ul></ul><ul><ul><ul><li>connected components </li></ul></ul></ul><ul><ul><ul><li>wire-webs (maximal connected components formed by the wire-edges) </li></ul></ul></ul><ul><ul><ul><li>edge-connected components ( parts which do not contain non-manifold vertices) </li></ul></ul></ul><ul><ul><li>3) Number of 2-cycles deducing the Betti numbers </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 13. Extracting Non-manifold Singularities & Wire-Edges <ul><li>We provide algorithms for counting and extracting </li></ul><ul><ul><li>non-manifold vertices, </li></ul></ul><ul><ul><li>non-manifold edges </li></ul></ul><ul><ul><li>wire edges </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling Wire-edges explicitly encoded in the TS retrieval and counting is trivial Non-Manifold Vertices for each vertex v take Vertex-triangle and vertex-wire-edge v is manifold if only one of the two relations is not empty if the vertex-triangle relation is not empty, it consists only one triangle if the vertex-wire-edge relation is not empty, it consists of either one or two wire-edges non-manifold otherwise Non-manifold edges For each e consider a triangle t incident at e e is non-manifold if the predecessor and successor in the triangle-triangle-at-edge of t at e, are different
- 14. Computing: Connected compontens, 1-Connected Components & Wire-webs <ul><li>To detect parts with certain connectivity, a traversal of the entire model is necessary </li></ul>20/05/10 GRAPP2010 - Geometric Modeling Connected Components Apply a labeling approach to the 1-skeleton. BF traversal in the TS with a queue. Visit all the triangles t in the vertex-triangle and all the wire-edges e in the vertex-wire-edge . Betti number b0 , is the total number of connected components. Wire-webs connected components formed only of wire-edges. Apply a BF traversal considering for each vertex v , only the incident wire-edges and the corresponding vertices 1-connected components Consider the sub-mesh cutting all the wire-webs . The 1-connected components correspond to connected components of its dual graph G (where nodes are triangles and arcs exists for edges shared by two or more triangles) Used for the computation of the 2-cycles
- 15. Computing the 2-Cycles: General idea <ul><li>They are maximal 1-connected sub-meshes enclosing voids and not containing triangles dangling at non-manifold edges </li></ul><ul><li>We use the 1-connected components and we cut the maximal 1-connected sub-meshes of triangles not bounding void s </li></ul><ul><ul><li> 2 number of 2-cycles in the model </li></ul></ul><ul><ul><li> 2 computed 1 can be derived by the Euler’s formula ( v -e+f= 0- 1+ 2 ) </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 16. Computing the 2-cycles: Triangle sides / adiacency <ul><li>triangle sides A triangle t has two triangle sides (with opposite normals) defined by the two possible orderings of its vertices </li></ul><ul><li>Two triangle sides are adjacent at their common edge e if one is reachable from the other by crossing e </li></ul>20/05/10 GRAPP2010 - Geometric Modeling Two triangle sides of two different triangles which are adjacent
- 17. Computing the 2-cycles: Oriented surfaces <ul><li>Definition a maximal edge-connected set of triangles sides, such that, for each pair of triangle sides s′, s′′ in the set sharing an edge e s′ is the successor of s′′ according to one orientation of e, and s′′ is the successor of s′ according to the opposite orientation of e. </li></ul><ul><li>An oriented surface may enclose a void. </li></ul>20/05/10 GRAPP2010 - Geometric Modeling An oriented surface is basically the surface formed by all the triangle sides that are reachable (via adjacency) by a walking ant.
- 18. <ul><li>Def : An oriented surface S with boundary such that for each t-side s in S the other t-side s” of the same triangle is in S ( cannot include any void ). </li></ul><ul><li>Property there is exactly one oriented surface for each 1-connected component which does not define a 2-cycle </li></ul><ul><li> #2-cycles = #OrientedSurface – #1ConnectedComponents </li></ul>Computing the 2-cycles: Folded Surfaces 20/05/10 GRAPP2010 - Geometric Modeling C defines a cycle of triangles which can be expressed as the linear combination of the A and B . Thus, unlike A and B , C does not define a 2-cycle, since it contains the remaining oriented surfaces C A B C A B
- 19. Computing the 2-Cycles Oriented adjacency di-graph <ul><li>Algorithm: For each 1-connected component A </li></ul><ul><ul><li>Extract connected collections of triangle sides </li></ul></ul><ul><ul><li>Extract oriented surfaces traversing the model taking the triangle sides and simulating the walk of an ant on a surface </li></ul></ul><ul><li>Oriented adjacency di-graph G of A </li></ul><ul><ul><li>nodes are triangle sides, </li></ul></ul><ul><ul><li>there is a directed arc a from a node s′ to a node s′′ iff the two sides s′ and s′′ share an edge e , and side s′′ is the successor of s′ at e . </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 20. Computing the 2-Cycles Oriented adjacency di-graph <ul><li>Each strongly connected sub-graph of the oriented adjacency di-graph G defines an oriented surface </li></ul><ul><li>NOTE: </li></ul><ul><ul><li>We do not build the oriented adjacency di-graph </li></ul></ul><ul><ul><li>we simulate the di-graph G on the TS data structure, using an incremental labeling approach. </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 21. TopMesh <ul><li>TopMesh is a command line tool written in C++. </li></ul><ul><li>Webservice for the AIM@SHAPE Digital shapes repository http://www.aimatshape.net </li></ul><ul><li>Tested on several data sets </li></ul><ul><li>Web pages </li></ul><ul><ul><li>http:// ggg.disi.unige.it / topmesh / the sw and the results </li></ul></ul><ul><ul><li>http://indy.disi.unige.it/nmcollection/ a repository of non-manifold models </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 22. Complexity <ul><li>Extracting singularities & C. </li></ul><ul><ul><li>time complexity linear in the size of the input triangle-segment mesh </li></ul></ul><ul><li>Computing the 2-cycles </li></ul><ul><ul><li>The algorithm performs a visit on the di-graph G </li></ul></ul><ul><ul><li>the number of nodes in G is proportional to the number of triangles and edges in the input mesh, </li></ul></ul><ul><ul><li>the algorithm complexity is linear in the size of the mesh. </li></ul></ul>
- 23. Results (1/3) 20/05/10 GRAPP2010 - Geometric Modeling
- 24. Results (2/3) 20/05/10 GRAPP2010 - Geometric Modeling
- 25. Results (3/3) <ul><li>All information extracted can be attached to the initial model using ontology-driven metadata </li></ul><ul><li>instances of the concept NonManifoldMesh are automatically created </li></ul>20/05/10 GRAPP2010 - Geometric Modeling COMMON SHAPE ONTOLOGY defined within AIM@SHAPE
- 26. Conclusions <ul><li>TopMesh: </li></ul><ul><ul><li>a tool for the extraction of topological information form a 3D object represented as a triangle-segment mesh encoded in the TS data structure. </li></ul></ul><ul><ul><li>Webservice for a digital shape repository online </li></ul></ul><ul><ul><li>integrated as core module in a Semantic Web system for inspecting, structuring annotating 3D shapes and scenes according to ontology-driven metadata </li></ul></ul><ul><li>We are extending the tool for: </li></ul><ul><ul><li>performing a semantic-oriented decomposition of a shape. </li></ul></ul><ul><ul><li>managing large non-manifold meshes using spatial indexing techniques </li></ul></ul>20/05/10 GRAPP2010 - Geometric Modeling
- 27. Thanks for your attention. …Questions? Laura Papaleo [email_address] 20/05/10 GRAPP2010 - Geometric Modeling This work has been partially supported by the MIUR-FIRB project SHALOM under contract number RBIN04HWR8, by the National Science Foundation under grant CCF-0541032, and by the MIUR-PRIN project on Multi-resolution modeling of scalar fields and digital shapes.

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

Be the first to comment