Download presentation
Presentation is loading. Please wait.
Published byBartholomew Edwards Modified over 9 years ago
1
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences University of Genova (Italy) http://www.disi.unige.it/research/Geometric_modeling/
2
Outline Motivations The vertex-based MultiTriangulation (MT) The basic query on a multiresolution model: Selective Refinement Encoding a vertex-based MT Encoding the partial order Encoding the MT components Comparisons Conclusions and Future Work
3
Motivations (1) Simplicial meshes: used for describing surfaces, objects, scalar and vector fields Applications: terrain modeling, virtual reality, scientific data visualization, etc. Availability of very large meshes: research activity on mesh simplification multiresolution geometric models
4
Motivations (2) Mesh simplification: computationally expensive task Multiresolution geometric models: Compact way of encoding the steps performed by a simplification algorithm as a partial order Virtually continuous set of meshes at different Levels Of Detail (LOD) can be extracted from such models
5
Multiresolution Geometric Models Multiresolution Model
6
Simplicial MultiComplex (SMC) [De Floriani, Magillo, Puppo, SSD’99] General multiresolution geometric model for k-D spatial entities through simplicial complexes Suitable for handling multidimensional data Independent of a specific simplification strategy Dimension-independent data structure for an SMC implemented in a library for multiresolution modeling, available in the public domain
7
Vertex-based MultiTriangulation (MT) Specialization of the SMC for the two-dimensional case (triangle meshes) Built on the basis of a specific local update: vertex insertion / removal
8
Vertex-based MT Consider a sequence of updates incrementally refining a mesh at low resolution Dependency between updates: an update i depends on an update j if i removes some triangle created by j Dependency defines a partial order over the set of updates
9
The MultiTriangulation The MT captures the partial order of updates An MT is described by a directed acyclic graph (DAG) where: nodes: updates arcs: dependencies
10
The MultiTriangulation All subsets of nodes closed with respect to the partial order describe all triangulations represented in the MT
11
Selective Refinement Extract a mesh M from an MT such that the resolution of M satisfies some user-defined requirement M contains a minimal number of triangles among all meshes satisfying the resolution constraint Application dependent queries are specific instance of selective refinement
12
Selective Refinement: View-Dependent Resolution
13
Selective refinement: Intersection with a Line of Interest at Variable Resolution
14
Selective Refinement: Window Query at Variable Resolution
15
Algorithms for Selective Refinement Breadth-first DAG traversal for retrieving a mesh satisfying the conditions in the selective refinement query Scheme: start form a previously extracted mesh (or from the mesh at low resolution) and refine the mesh where the resolution is too low (Expansion phase) coarsen the mesh where the resolution is unnecessarily high (Contraction phase)
16
Expansion Step Perform update u=(u-,u+) on the current mesh On the DAG: Parents (u): feasibility of update u On the current mesh: Refine: replace the triangles in u- with those in u+
17
Contraction Step Undo update u=(u-,u+) on the current mesh On the DAG: Children (u): feasibility of update u On the current mesh: Abstract: replace the triangles in u+ with those in u-
18
Data Structures for an MT Objectives: Implement primitive operations (Children, Parents, Refine and Abstract ) with an optimal worst-case time complexity Optimize storage space Two issues: Encoding dependencies Encoding updates
19
Encoding Dependencies Direct encoding: for each node u, encode links to its parents and to its children in the DAG Storage cost: 8n+6nlog(n) bits, where n = number of vertices in the MT Parents and Children implemented in time linear in the size of the output DAG encoding by Klein and Gumhold (1998): an update u and its parents are linked into a loop. Storage cost: 20n+4nlog(n) bits Only Parents implemented in optimal time; Children implemented in O(j 2 ), where j = #children
20
Encoding Updates: Explicit Structure Special case of the explicit structure with zero-adjacencies for Simplicial MultiComplexes (SSD’99) It stores the collection of all triangles in u- and in u+; for each triangle, explicit reference to its vertices Storage cost: 25n+25nlog(n) bits Coordinates of the vertices: 96n bits References to the vertices for all t triangles: 6nlog(t) bits Cost for all updates 4n+(t+n)log(t) bits Refine and Abstract in time linear in (#u-) + (#u+)
21
Encoding Vertex-Based Updates No need to store the triangles in the update Two tasks to be performed efficiently: Recognize the triangles of u- in the current mesh (primitive Refine) Given the polygon P bounding u+, generate u- (primitive Abstract)
22
Encoding Vertex-Based Updates Store the MT vertices as triplets of coordinates (cost = 96n bits) For each update u, store a starting edge s on the polygon P bounding u (cost = 3nlog(n) bits) Analysis of two encoding structures for the triangulation T of u- 1. an encoding based on a traversal of T [Taubin et al., 1998] 2. an encoding based on ranking all triangulations of a polygon with k sides
23
An Encoding Based on Traversal Given a current edge e and a current triangle t, look at the edges of t different from e: Code 01:edge following e in ccw order on P Code 10: edge preceding e in ccw order on P Code 00: the other two edges of t are not on P Code 11: the other two edges of t are both on P Storage cost: 8n bits (2 bits per triangle in u-) Refine and Abstract in O(k), where k is the size of P
24
An Encoding Based on Ranking Basic Idea: enumerating all triangulations of a given k- polygon It stores log(Ek) bits for each update bounded by a k-polygon, where Ek is the number of all distinct isomorphic triangulations of a k-polygon (lower bound) For each polygon size k, compute the canonical representations of all possible triangulations of a k-polygon and sort them lexicographically A specific triangulation represented by storing its rank in the sorted sequence of canonical representations For updates of size k=6 (average case), storage cost = 7n bits Refine and Abstract performed in O(k log(k)) time
25
Results from Comparisons Compact DAG encoding (C) requires 20% less storage than direct DAG encoding (D) Compact update encodings require approximately 1/10 of the storage needed by the explicit encoding (Explicit + C) requires only 4% less wrt (Explicit + D) Both explicit data structures require about 2.5 times the space needed to store the mesh at full resolution Both compact encodings based on traversal and on ranking are more economical wrt a data structure for updates proposed by Klein and Gumhold (1998)
26
Results from Comparison MT1 = Explicit + Direct DAG encoding MT2 = Traversal + Direct DAG encoding MT3 = Ranking + Compact DAG encoding MT1MT2MT3 ParentsO(j) ChildrenO(j) O(j 2 ) Refine/AbstractO(k) O(k log k) MT1MT2MT3 Full Resolution266 %72 %61 % MT1100 %27 %23 %
27
Conclusions Vertex-based MultiTriangulation: based on vertex insertion/removal Compact data structures for encoding a vertex-based MT Compression of almost 80% wrt explicit data structure Compression of almost 40% wrt mesh at full resolution Current Work: Comparison with hierarchical structures based on regular triangular subdivisions Design of a compact data structure for a 3D vertex-based MT (Danovaro et al. 2001) Future Work: Out-of-core data structures Out-of-core simplification and selective refinement algorithms
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.