1.82k likes | 1.83k Views
This article introduces a new edge-based encoding scheme for polygon mesh connectivity, leading to compact mesh representations. The scheme allows for simple implementation and fast decoding, and it also extends to non-triangular meshes and meshes with group or triangle strip information.
E N D
Triangle Fixer:Edge-based Connectivity Compression Martin Isenburg University of North Carolina at Chapel Hill
Introduction A new edge-based encoding schemefor polygon mesh connectivity.
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations simple implementation
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations simple implementation fast decoding
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations simple implementation fast decoding
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations simple implementation fast decoding extends to non-triangular meshes
Introduction A new edge-based encoding scheme for polygon mesh connectivity. compact mesh representations simple implementation fast decoding extends to non-triangular meshes extends to meshes with group ortriangle strip information
Geometry and Connectivity The minimal information we need to store is: • Where are the vertices located ? mesh geometry • How are the vertices connected ? mesh connectivity
Standard Representation list of vertices x0 y0 z0 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn
Standard Representation list of vertices list of faces x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn
Standard Representation list of vertices list of faces x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn
Standard Representation list of vertices list of faces x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn
Standard Representation list of vertices list of faces x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn
Standard Representation list of vertices list of faces x0 y0 z0 1 4 2 x1 y1 z1 2 3 03 4 x2 y2 z2 u2 v2 w24 0 53 4 x3 y3 z3 u3 v3 w33 4 53 6 4 x4 y4 z4 u4 v4 w45 0 2 . . . . . xn yn zn . . . . . . . . . . . . . . .
Compressing Geometry list of vertices list of faces x0 y0 z0 1 4 2 x1 y1 z1 2 3 0 3 4 x2 y2 z2 u2 v2 w24 0 5 3 4 x3 y3 z3 u3 v3 w33 4 5 3 6 4 x4 y4 z4 u4 v4 w45 0 2 . . . . . xn yn zn . . . . . . . . . . . . . . .
Compressing Connectivity list of vertices list of faces x0 y0 z01 4 2 x1 y1 z12 3 0 3 4 x2 y2 z2u2 v2 w24 0 5 3 4 x3 y3 z3u3 v3 w33 4 5 3 6 4x4 y4 z4u4 v4 w45 0 2 . . . . . xn yn zn . . . . . . . . . . . . . . .
Uncompressed Connectivity 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 2 1 3 0 6 5 4 7 9 11 8 12 10
Uncompressed Connectivity 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 7 6 log(n) bpv 2 1 3 0 6 5 4 7 9 11 8 12 10
Turan’s observation • The fact that a planar graph can be decomposed into two spanning trees implies that it can be encoded in a constant number of bits.
Turan’s observation • The fact that a planar graph can be decomposed into two spanning trees implies that it can be encoded in a constant number of bits. • The two spanning trees are: • a vertex spanning tree • its dual triangle spanning tree
Turan’s observation • The fact that a planar graph can be decomposed into two spanning trees implies that it can be encoded in a constant number of bits. • The two spanning trees are: • a vertex spanning tree • its dual triangle spanning tree • He gave an encoding that uses 12 bits per vertex (bpv).