solid modeling 2002 a multi-resolution topological representation for non-manifold meshes leila de...
TRANSCRIPT
Solid Modeling 2002
A Multi-resolution Topological A Multi-resolution Topological Representation for Non-manifold Representation for Non-manifold MeshesMeshes
Leila De Floriani, Paola Magillo,
Enrico Puppo, Davide Sobrero
University of Genova
Genova (Italy)
Solid Modeling 2002
Non-Manifold Multiresolution Modeling: Non-Manifold Multiresolution Modeling: Why Non-Manifold?Why Non-Manifold?
Need to represent and manipulate objects which combine wire-frames, surfaces, and solid parts in CAD/CAM applications
Complex spatial objects are described by meshes with a non-manifoldnon-manifold and non-regularnon-regular domain
Non-manifold and non-regular meshes are generated by topology-modifying simplificationtopology-modifying simplification algorithms
Solid Modeling 2002
Non-Manifold Multiresolution Modeling: Non-Manifold Multiresolution Modeling: Why Multiresolution?Why Multiresolution?
Availability of CAD models of large sizelarge size
Need for a multiresolution representation to be able to extract selectively refinedselectively refined meshes
Our aim:Our aim: multiresolution modeling for extracting adaptiveadaptive meshesmeshes with a complete topological descriptioncomplete topological description (to support efficient mesh navigation through adjacencies)
Solid Modeling 2002
Our contributionOur 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 workRelated 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, 1998.
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, 2001.
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 notionsBackground notions
Wire-edge:Wire-edge: no triangle incident into it
Two-dimensional simplicial complexes in 3D (triangle-segmenttriangle-segment meshes)
Triangle-edge:Triangle-edge: at least one triangle incident into it
Solid Modeling 2002
Non-Manifold Multi-Tessellation (NMT)Non-Manifold Multi-Tessellation (NMT)
Extension of the Multi-TessellationMulti-Tessellation (De Floriani,
Magillo, Puppo, 1997) to the non-manifold domain
Basic ingredients:Basic ingredients: mesh modification + dependency relation
Modification of a meshModification 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)Non-Manifold Multi-Tessellation (NMT)
’
A modification:
Solid Modeling 2002
Non-Manifold Multi-Tessellation (NMT)Non-Manifold Multi-Tessellation (NMT)
Modification as a pair M=(M-,M+) where– M+: refinement modificationrefinement modification defined by EE’
– M-: coarsening modificationcoarsening modification defined by E’E
Solid Modeling 2002
Non-Manifold Multi-Tessellation (NMT)Non-Manifold Multi-Tessellation (NMT)
NMT: partially ordered partially ordered set of nodes {M0, ….Mq}:
each node Mi: refinement modification Mi+ and its inverse
coarsening one Mi-
Partial order induced by dependency relationdependency relation:
by Mj depends on Mi iff some element introduced by Mi+ is
deleted Mj+
Minimum element in the order: creation of the coarsest mesh
Solid Modeling 2002
Non-Manifold Multi-Tessellation (NMT)Non-Manifold Multi-Tessellation (NMT)
Solid Modeling 2002
Non-Manifold Multi-Tessellation (NMT)Non-Manifold Multi-Tessellation (NMT)
Solid Modeling 2002
Selective refinement on a NMTSelective refinement on a NMT
Selective refinement:Selective refinement: extract a mesh from a NMT satisfying some application-dependent requirements (LOD criterion + maximal size)
Extracted meshesExtracted meshes correspond to set S of modifications closed closed with respect to the partial order
Solid Modeling 2002
Selective refinement: an incremental Selective refinement: an incremental approachapproach
Modify a previously extracted mesh– by adding necessary nodes– by removing superfluous nodes
Primitives on the current mesh:– mesh refinementmesh refinement (apply M+)– mesh coarseningmesh coarsening (apply M-)
Solid Modeling 2002
A data structure for a 2D instance of a NMTA data structure for a 2D instance of a NMT NMT built through vertex-pair contraction:vertex-pair contraction: (v’,v”) v
Each NMT node M:NMT node M: vertex-pair contraction (M-) and vertex expansion (M+)
NMT nodesNMT nodes : encoding technique by Popovic and Hoppe (1997) Partial orderPartial order : implicit encoding technique by El-Sana and
Varshney (1999)
Solid Modeling 2002
A data structure for a 2D instance of a NMTA 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 halfLess 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 A data structure for 2D simplicial complexescomplexes For each vertex v:For each vertex v:
– all vertices to which v is connected through a wire-edge (Vertex-Vertex Vertex-Vertex relationrelation)
– One triangle incident in v for each connected component (“fan”) of the link of v (partial partial Vertex-Triangle relationVertex-Triangle relation)
Solid Modeling 2002
A data structure for 2D simplicial A data structure for 2D simplicial complexescomplexes
For each triangle t:For each triangle t: – link to its three vertices (Triangle-Vertex relationTriangle-Vertex relation)
– for each edge e of t: two triangles if e is non-manifold,one triangle otherwise (partial Triangle-partial Triangle-Triangle relationTriangle relation)
Solid Modeling 2002
A data structure for 2D simplicial A data structure for 2D simplicial complexescomplexes
It can be traversed through edge adjacencies and around a vertex in optimal timeoptimal time (linear in the output size)
Scalability to manifold meshes:Scalability to manifold meshes: overhead of one byte per one byte per vertexvertex wrt indexed data structure with adjacencies when applied to manifold meshes
More compactMore compact than specialization of existing non-manifold data structures to 2D simplicial complexes
Solid Modeling 2002
Implementation of mesh refinementImplementation 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 refinementBasic operations in mesh refinement
Vertex into an edgeVertex 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 refinementBasic 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 refinementBasic operations in mesh refinement
On triangles:On triangles:
– move extreme vertex: (w1,w2,v) (w1,w2,v”)
– duplicate triangle: (w1,w2,v) (w1,w2,v’) + (w1,w2,v”)
Solid Modeling 2002
Some experimental resultsSome 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 workSelective 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
SummarySummary
NMT:NMT: a model for multi-resolution simplicial complexes in arbitrary dimension
A compact data structurecompact data structure for a 2D instance of a NMT A compact and scalable topological data structurecompact and scalable topological data structure for
2D simplicial complexes Algorithms for performing vertex-pair contractionvertex-pair contraction and
vertex expansionvertex expansion (basic ingredients for selective refinement) on the previous data structure
Solid Modeling 2002
Current and future workCurrent 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
Solid Modeling 2002
Background notionsBackground notions
Manifold edge:Manifold edge: exactly one or two triangles incident into it
manifold edges non-manifold edge
Solid Modeling 2002
Background notionsBackground notions
Manifold vertex:Manifold vertex: – No triangle incident in it and– one or two edges incident into itOR– 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 primitivesSelective refinement: basic primitives
On the partial order:– node insertion testnode insertion test– node removal testnode removal test– dependencies retrievaldependencies retrieval
On the current mesh:– mesh refinementmesh refinement (apply M+)
– mesh coarseningmesh coarsening (apply M-)