960 likes | 974 Views
Learn about compressing hexahedral volume meshes using edge degrees, a method that takes advantage of the regularity commonly found in such data sets. Explore the process of coding with edge degrees, boundary propagation, adaptive traversal, and more.
E N D
CompressingHexahedral Volume Meshes Martin Isenburg UNCChapel Hill Pierre Alliez INRIASophia-Antipolis
Overview • Volume Meshes • Related Work • Compressing Connectivity • Coding with Edge Degrees • Boundary Propagation • Adaptive Traversal • Compressing Geometry • Parallelogram Prediction • Demo
Take this home: “The connectivity of a hexahedral mesh can be coded through asequence of its edge degrees.” “This encoding naturallyexploits the regularity commonlyfound in such data sets.”
Volume Meshes • scientific & industrial applications • thermodynamics • structural mechanics • … • visualization & simulation • unstructured / irregular (not on a grid ) • tetrahedral, hexahedral, polyhedral
Hexahedral Volume Meshes • have “numerical advantages in finite element computations” • challenging to generate • their internal structure looks “nice” compared to tetrahedral meshes
Ingredients • geometry :positions of vertices • connectivity :which vertices form a hexahedron • properties:attached to vertices density, pressure, heat,...
log2(v) 8h*32 bits 16 3v *32 bits 1.69 Standard Representation • connectivity • geometry hex1 1 3 6 4 7 8 9 2 hex2 4 5 8 2 9 1 6 7 hex3 7 5 … hexh less than84 KB vtx1 ( x, y, z ) vtx2 ( x, y, z ) vtx3 ( x, y, z ) vtxv 71572 hexahedra 78618 vertices size: 3.23 MB
Surface Mesh Compression • Geometry Compression, [Deering, 95] • Topological Surgery, [Taubin & Rossignac, 98] • Cut-Border Machine, [Gumhold & Strasser, 98] • Triangle Mesh Compression, [Touma & Gotsman, 98] • Edgebreaker, [Rossignac, 99] • Spectral Compression of Geometry, [Karni & Gotsman, 00] • Face Fixer, [Isenburg & Snoeyink, 00] • Valence-driven Connectivity Coding, [Alliez & Desbrun, 01] • Near-Optimal Coding, [Khodakovsky, Alliez, Desbrun & • Degree Duality Coder, [Isenburg, 02] • Polygonal Parallelogram Prediction, [Isenburg & Alliez, 02] Schröder, 02]
Volume Mesh Compression • Grow & Fold, [Szymczak & Rossignac, 99] • Cut-Border Machine,[Gumhold, Guthe & Strasser, 99] • Rendering of compressed volume data, [Yang et al., 01] Simplification: • Simplification of tetrahedral meshes,[Trotts et al., 98] • Progressive Tetrahedralizations,[Staadt & Gross, 98] Progressive Compression: • Implant Sprays,[Pajarola, Rossignac & Szymczak, 99] !! only for tetrahedral meshes !!
Surface / Volume Connectivity a mesh with v vertices has maximal surfaces: 2v-2 triangles ~ 6v indices v-1 quadrilaterals ~ 4v indices volumes: O(v2) tetrahedra ~ 12v indices O(v2) hexahedra ~ 8v indices connectivity dominates geometry even more for volume meshes
4 4 6 6 6 6 6 7 7 5 4 4 4 4 4 4 4 4 4 . . . . . . 3 6 3 . . . . . . 5 Degree Coding for Connectivity • Triangle Mesh Compression, [Touma & Gotsman, 98] • Valence-driven Connectivity Coding, [Alliez, Desbrun, 01] • Degree Duality Coder, [Isenburg, 02] • Near-Optimal Connectivity Coding, [Khodakovsky, Alliez, Desbrun, Schröder, 02] compressed with arithmetic coder converges to entropy
0.2 bits 1.3 bits 2.0 bits Entropy for a symbol sequence of t types t 1 Entropy = pi• log2( ) bits pi i =1 # of type t pi= # total
4 4 3 3 5 6 5 7 8 8 6 2 9+ 7 9+ vertex degrees face degrees Average Distribution [over a set of 11 polygonal meshes]
“Worst-case” Distribution 3 4 5 [Alliez & Desbrun, 01] 3.241… bpv [Tutte, 62] 6 7 8 9 … … … vertex degrees
6 3 3 6 4 4 ... ... ... ... ... ... ... ... ... ... ... ... vertexdegrees vertexdegrees vertexdegrees facedegrees facedegrees facedegrees Adaptation to Regularity
quad hex Degree Coding for Volumes ? tri tet vertex degrees edge degrees
elements for regular 3D tiling • regular tetrahedron • regular hexahedron Regular Volume Meshes? • elements for regular 2D tiling • regular triangle • regular quadrilateral • regular hexagon
pick incomplete face on hull • process adjacent hexahedra • record degrees of its free edges Space Growing similar in spirit to “region growing”: algorithm maintains hull enclosing processed hexahedra • initialize hull with a border face • iterate until done
focus face Coding with Edge Degrees
Coding with Edge Degrees focus face
Coding with Edge Degrees slots focus face
incomplete faces border faces Coding with Edge Degrees
edges on hull maintain slot count Coding with Edge Degrees
edges with a slot count of zero are “zero slots” zero slots Coding with Edge Degrees
2 2 4 3 3 3 3 3 5 4 4 4 4 4 4 • border ? 3 . . . . . . • join ? N N N N N N N N N N N N N N N N N N N N N N N N N N Y Y . . . . . . Resulting Symbols • border edge degrees • interior edge degrees . . . . . . . . . . . .
Average Distributions no no 4 3 2 3 4 5 5 6+ 2 6 7+ yes yes join? borderdegrees interiordegrees border?
step gap hut bridge roof corner tunnel pit den Possible Configurations