Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero University of Genova Genova (Italy)
Solid Modeling 2002 Non-Manifold Multiresolution Modeling: Why Non-Manifold? Need to represent and manipulate objects which combine wire-frames, surfaces, and solid parts in CAD/CAM applications non-manifoldnon-regular Complex spatial objects are described by meshes with a non-manifold and non-regular domain topology-modifying simplification Non-manifold and non-regular meshes are generated by topology-modifying simplification algorithms
Solid Modeling 2002 Non-Manifold Multiresolution Modeling: Why Multiresolution? large size Availability of CAD models of large size selectively refined Need for a multiresolution representation to be able to extract selectively refined meshes Our aim:adaptive meshes complete topological description Our aim: multiresolution modeling for extracting adaptive meshes with a complete topological description (to support efficient mesh navigation through adjacencies)
Solid Modeling 2002 Our contribution Non-Manifold Multi-Tessellation (NMT) A compact data structure for a 2D instance of the NMT A new scalable topological data structure for 2D simplicial complexes Algorithms for selective refinement on the previous data structures
Solid Modeling 2002 Related work Topology-modifying simplification algorithms: Topology-modifying simplification algorithms: e.g., Rossignac and Borrel, 1990; Garland and Heckbert, 1997; Popovic and Hoppe, 1997; El-Sana and Varshney, Non-manifold data structures: Non-manifold data structures: Weiler, 1988; Gursoz et al., 1990; Yamaguchi and Kimura, 1995; Rossignac and O’Connor, 1990; Campagna et al., 1999; Lee and Lee, Multiresolution models for unstructured triangle meshes: Multiresolution models for unstructured triangle meshes: Hoppe, 1997; De Floriani et al., 1997; Xia et al., 1997; Gueziec et al., 1998; Luebke and Erikson, 1997; Klein and Gumhold, 1998; El- Sana and Varshney, 1999.
Solid Modeling 2002 Background notions Wire-edge: Wire-edge: no triangle incident into it triangle-segment Two-dimensional simplicial complexes in 3D (triangle-segment meshes) Triangle-edge: Triangle-edge: at least one triangle incident into it
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT) Multi-Tessellation Extension of the Multi-Tessellation (De Floriani, Magillo, Puppo, 1997) to the non-manifold domain Basic ingredients: Basic ingredients: mesh modification + dependency relation Modification of a mesh Modification of a mesh : replace a set of elements E of with a new set E’ so that the result ’ is still a mesh
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT) ’’ A modification:
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT) Modification as a pair M=(M -,M + ) where refinement modification –M + : refinement modification defined by E E’ coarsening modification –M - : coarsening modification defined by E’ E
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT) partially ordered NMT: partially ordered set of nodes {M 0, ….M q }: each node M i : refinement modification M i + and its inverse coarsening one M i - dependency relation Partial order induced by dependency relation: by M j depends on M i iff some element introduced by M i + is deleted M j + Minimum element in the order: creation of the coarsest mesh
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT)
Solid Modeling 2002 Non-Manifold Multi-Tessellation (NMT)
Solid Modeling 2002 Selective refinement on a NMT Selective refinement: Selective refinement: extract a mesh from a NMT satisfying some application-dependent requirements (LOD criterion + maximal size) Extracted meshes closed Extracted meshes correspond to set S of modifications closed with respect to the partial order
Solid Modeling 2002 Selective refinement: an incremental approach Modify a previously extracted mesh –by adding necessary nodes –by removing superfluous nodes Primitives on the current mesh: –mesh refinement –mesh refinement (apply M + ) –mesh coarsening –mesh coarsening (apply M - )
Solid Modeling 2002 A data structure for a 2D instance of a NMT vertex-pair contraction: NMT built through vertex-pair contraction: (v’,v”) v NMT node M: Each NMT node M: vertex-pair contraction (M - ) and vertex expansion (M + ) NMT nodes NMT nodes : encoding technique by Popovic and Hoppe (1997) Partial order Partial order : implicit encoding technique by El-Sana and Varshney (1999)
Solid Modeling 2002 A data structure for a 2D instance of a NMT Total cost: Total cost: 32n bytes (where n is the number of vertices in the mesh at full resolution) Around 90% Around 90% of the cost of storing the mesh at full resolution (by encoding only connectivity information) Less than half Less than half than the cost of storing the mesh at full resolution with connectivity and face adjacencies
Solid Modeling 2002 A data structure for 2D simplicial complexes For each vertex v: For each vertex v: Vertex-Vertex relation –all vertices to which v is connected through a wire- edge (Vertex-Vertex relation) partial Vertex-Triangle relation –One triangle incident in v for each connected component (“fan”) of the link of v (partial Vertex-Triangle relation)
Solid Modeling 2002 A data structure for 2D simplicial complexes For each triangle t: For each triangle t: Triangle-Vertex relation –link to its three vertices (Triangle-Vertex relation) partial Triangle- Triangle relation –for each edge e of t: two triangles if e is non- manifold,one triangle otherwise (partial Triangle- Triangle relation)
Solid Modeling 2002 A data structure for 2D simplicial complexes optimal time It can be traversed through edge adjacencies and around a vertex in optimal time (linear in the output size) Scalability to manifold meshes:one byte per vertex Scalability to manifold meshes: overhead of one byte per vertex wrt indexed data structure with adjacencies when applied to manifold meshes More compact More compact than specialization of existing non- manifold data structures to 2D simplicial complexes
Solid Modeling 2002 Implementation of mesh refinement Input: Input: – : current mesh encoded in the previous data structure –M + : feasible vertex expansion v (v’,v”) as specified in the corresponding NMT node Output: Output: mesh ’ obtained from by expanding v
Solid Modeling 2002 Basic operations in mesh refinement Vertex into an edge Vertex into an edge (if v’ and v” were connected by an edge in the mesh at full resolution): v e=(v’,v”) On wire-edges: On wire-edges: –move extreme vertex: (w,v) (w,v’) –duplicate edge: (w,v) (w,v’) + (w,v”) –edge into triangle: (v,w) (v’,v”,w)
Solid Modeling 2002 Basic operations in mesh refinement On triangle-edges: On triangle-edges: –duplicate edge: (w,v) (w,v’) + (w,v”) –edge into triangle: (v,w) (v’,v”,w)
Solid Modeling 2002 Basic operations in mesh refinement On triangles: On triangles: –move extreme vertex: (w 1,w 2,v) (w 1,w 2,v”) –duplicate triangle: (w 1,w 2,v) (w 1,w 2,v’) + (w 1,w 2,v”)
Solid Modeling 2002 Some experimental results NMT built through a “simple” simplification strategy based on collapsing the shortest edge Choice of the simplification strategy affects the shape of the NMT Results: Results: –Number of wire-edges incident at a vertex < 4 –Number of “fans” of triangles incident at a vertex < 4 –Average number of “fans” of triangles incident at a vertex < 1.2 –Only 2% of the vertices are extremes of wire-edges
Solid Modeling 2002 Selective refinement at work 21,648 triangles 0 wire edges 1,909 triangles 9 wire edges 3,311 triangles 6 wire edges 3,509 triangles 7 wire edges
Solid Modeling 2002 Summary NMT: NMT: a model for multi-resolution simplicial complexes in arbitrary dimension compact data structure A compact data structure for a 2D instance of a NMT compact and scalable topological data structure A compact and scalable topological data structure for 2D simplicial complexes vertex-pair contraction vertex expansion Algorithms for performing vertex-pair contraction and vertex expansion (basic ingredients for selective refinement) on the previous data structure
Solid Modeling 2002 Current and future work Our aim: Our aim: extension of the work presented here to arbitrary dimensions A mathematical framework for describing non-manifold simplicial complexes in arbitrary dimensions as assembly of simpler quasi-manifold components (De Floriani et al., DGCI, 2002). An algorithm for decomposing a d-complex into a natural assembly of quasi-manifolds of dimension less or equal to d (on-going work).
Solid Modeling 2002
Background notions Manifold edge: Manifold edge: exactly one or two triangles incident into it manifold edges non-manifold edge
Solid Modeling 2002 Background notions Manifold vertex: Manifold vertex: –No triangle incident in it and –one or two edges incident into it OR –no wire-edges incident into it and –its incident triangles form a single fan manifold vertices non-manifold vertices
Solid Modeling 2002 Selective refinement: basic primitives On the partial order: –node insertion test –node removal test –dependencies retrieval On the current mesh: –mesh refinement –mesh refinement (apply M + ) –mesh coarsening –mesh coarsening (apply M - )