Progressive Simplicial Complexes Jovan Popovic Carnegie Mellon University Jovan Popovic Carnegie Mellon University Hugues Hoppe Microsoft Research Hugues.

Post on 26-Mar-2015

219 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

Progressive Simplicial Progressive Simplicial ComplexesComplexes

Jovan PopovicJovan PopovicCarnegie Mellon Carnegie Mellon

UniversityUniversity

Jovan PopovicJovan PopovicCarnegie Mellon Carnegie Mellon

UniversityUniversity

Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research

Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research

•RenderingRendering

•StorageStorage

•TransmissionTransmission

•RenderingRendering

•StorageStorage

•TransmissionTransmission

Complex Models

232, 974 faces

Previous Work

Progressive MeshesProgressive Meshes [Hoppe, [Hoppe, ‘96]‘96]Progressive MeshesProgressive Meshes [Hoppe, [Hoppe, ‘96]‘96]

150150

MM00

vsplvspl00MM11

152152

MM175175

500500

… … vsplvsplii … …

13,54613,546

vsplvspln-1n-1

MMnn=M=M̂̂MM00

vsplvspl00 … … vsplvsplii … … vsplvspln-1n-1

Progressive Mesh (PM) representation

PM Features

Continuous LOD sequenceContinuous LOD sequence

Smooth visual transitions Smooth visual transitions (Geomorphs)(Geomorphs)

Progressive transmissionProgressive transmission

Space-efficient representationSpace-efficient representation

Continuous LOD sequenceContinuous LOD sequence

Smooth visual transitions Smooth visual transitions (Geomorphs)(Geomorphs)

Progressive transmissionProgressive transmission

Space-efficient representationSpace-efficient representation

Would also like:

PM Restrictions

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

PM Restrictions

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Preserves topological typePreserves topological type

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Preserves topological typePreserves topological type

MM00 MMnn

PM Restrictions

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Preserves topological typePreserves topological type

Supports only “meshes”Supports only “meshes”(orientable, 2-dimensional manifolds)(orientable, 2-dimensional manifolds)

Preserves topological typePreserves topological type

167,744167,7448,0008,0002,5222,522MM00 MMnn… … MMii … …

Progressive Simplicial Complexes (PSC)

edge collapseedge collapse(ecol)(ecol)

vertex splitvertex split(vspl)(vspl)

PMPM

Previous Work

Vertex unification schemesVertex unification schemes[Rossignac-Borrel ‘93][Rossignac-Borrel ‘93]

[Schaufler-St[Schaufler-Stürzlinger ‘95]rzlinger ‘95]

Vertex unification schemesVertex unification schemes[Rossignac-Borrel ‘93][Rossignac-Borrel ‘93]

[Schaufler-St[Schaufler-Stürzlinger ‘95]rzlinger ‘95]

Progressive Simplicial Complexes (PSC)

edge collapseedge collapse(ecol)(ecol)

vertex splitvertex split(vspl)(vspl)

PMPMvertex unificationvertex unification

(vunify)(vunify)

PSCPSC

Progressive Simplicial Complexes (PSC)

edge collapseedge collapse(ecol)(ecol)

vertex splitvertex split(vspl)(vspl)

PMPMvertex unificationvertex unification

(vunify)(vunify)

generalized vertex splitgeneralized vertex split(gvspl)(gvspl)

PSCPSC

Simplicial Complex

VV KKMM̂̂

Simplicial Complex

VV KKMM̂̂

KK

Simplicial Complex

VVMM̂̂ 1122 33 44

55

66

77

= {1, 2, 3, 4, 5, 6, 7} + = {1, 2, 3, 4, 5, 6, 7} + simplicessimplices

abstract abstract simpliciasimplicia

l l complexcomplex

{1}, {2}, …{1}, {2}, … 0-0-dimdim

Simplicial Complex

5511

22 33 4466

77

= {1, 2, 3, 4, 5, 6, 7} + = {1, 2, 3, 4, 5, 6, 7} + simplicessimplices

VV KKMM̂̂

{1}, {2}, …{1}, {2}, … 0-0-dimdim{1, 2}, {2, 3}…{1, 2}, {2, 3}…1-1-dimdim

abstract abstract simpliciasimplicia

l l complexcomplex

Simplicial Complex

5511

22 33 4466

77

= {1, 2, 3, 4, 5, 6, 7} + = {1, 2, 3, 4, 5, 6, 7} + simplicessimplices

{1}, {2}, …{1}, {2}, … 0-0-dimdim{1, 2}, {2, 3}…{1, 2}, {2, 3}…1-1-dimdim

VV KKMM̂̂

{4, 5, 6}, {6, 7, 5}{4, 5, 6}, {6, 7, 5}2-dim2-dim

abstract abstract simpliciasimplicia

l l complexcomplex

PSC representation

PSC Representation

MM11 MM2222

gvsplgvspl11MM116116

… … gvsplgvsplii … … gvsplgvspln-1n-1

MMnn=M=M̂̂

arbitrary simplicial arbitrary simplicial complexescomplexes

PSC Features Video

Destroyer PSC sequenceDestroyer PSC sequence

PM, PSC comparisonPM, PSC comparison

PSC GeomorphsPSC Geomorphs

Line DrawingLine Drawing

Destroyer PSC sequenceDestroyer PSC sequence

PM, PSC comparisonPM, PSC comparison

PSC GeomorphsPSC Geomorphs

Line DrawingLine Drawing

Generalized Vertex Split Encoding

vunifvunifyy

Generalized Vertex Split Encoding

gvspgvspll

vunifvunifyy

aa

ii

gvsplgvsplii = = {a {aii},},

Connectivity Encoding

case case (1)(1)

case case (2)(2)

case case (3)(3)

case case (4)(4)

0-dim0-dim

1-1-dimdim

2-dim2-dim

undefinundefineded

undefinundefineded

Connectivity Encoding

case case (1)(1)

case case (2)(2)

case case (3)(3)

case case (4)(4)

0-dim0-dim

1-1-dimdim

2-dim2-dim

undefinundefineded

undefinundefineded

Connectivity Encoding

case case (1)(1)

case case (2)(2)

case case (3)(3)

case case (4)(4)

0-dim0-dim

1-1-dimdim

2-dim2-dim

undefinundefineded

undefinundefineded

SS

gvsplgvsplii = = {a {aii},},

Generalized Vertex Split Encoding

vunifvunifyy

aa

ii

gvspgvspll

0-0-simplicessimplices

44

Generalized Vertex Split Encoding

vunifvunifyy

aa

ii

gvsplgvsplii = = {a {aii}, 4 34122}, 4 34122

gvspgvspll

1-1-simplicessimplices

gvsplgvsplii = = {a {aii}, 4 34122 }, 4 34122 1212

Generalized Vertex Split Encoding

vunifvunifyy

aa

ii

2-2-simplicessimplices

gvspgvspll

gvsplgvsplii = = {a {aii}, 4 34122 }, 4 34122 1212

Generalized Vertex Split Encoding

vunifvunifyy

aa

ii

connectivitconnectivityy

gvspgvspll

SS

Generalized Vertex Split Encoding

vunifvunifyy

gvsplgvsplii = = {a {aii}, 4 34122 }, 4 34122 12,12,

vpos

gvspgvspll

Connectivity Encoding Analysis

vunifvunifyy

example:example:15 bits15 bits

models models (avg):(avg):30 bits30 bits

1 1 1 1 11 1 1 1 1 11 1 12 2 2 2 2 2 2 22 2 2 2 22

33 33 3 3 3 3 3 3 3 3 3 33 344 4 4 44 4 4 4 4 4 4 4 44 4

gvspgvspll

Connectivity Encoding Constraints

vunifvunifyy

1 1 1 1 11 1 1 1 1 11 1 12 2 2 2 2 2 2 22 2 2 2 22

33 33 3 3 3 3 3 3 3 3 3 33 344 4 4 44 4 4 4 4 4 4 4 44 4

gvspgvspll

1 1 1 1 11 1 1 1 1 11 1 12 2 2 2 2 2 2 22 2 2 2 22

33 33 3 3 3 3 3 3 3 3 3 33 344 4 4 44 4 4 4 4 4 4 4 44 4

Connectivity Encoding Compression

vunifvunifyy

example:example:15 bits15 bits

models models (avg):(avg):30 bits30 bits

example:example:10.2 bits10.2 bits

models models (avg):(avg):14 bits14 bits

gvspgvspll

Space Analysis

Average 2D manifold meshAverage 2D manifold meshn vertices, 3n edges, 2n trianglesn vertices, 3n edges, 2n triangles

PM representationPM representation

n ( logn ( log22n + 4 ) bitsn + 4 ) bits

PSC representationPSC representation

n ( logn ( log22n + 7 ) bitsn + 7 ) bits

Average 2D manifold meshAverage 2D manifold meshn vertices, 3n edges, 2n trianglesn vertices, 3n edges, 2n triangles

PM representationPM representation

n ( logn ( log22n + 4 ) bitsn + 4 ) bits

PSC representationPSC representation

n ( logn ( log22n + 7 ) bitsn + 7 ) bits

Form a set of candidate vertex pairsForm a set of candidate vertex pairsForm a set of candidate vertex pairsForm a set of candidate vertex pairs

PSC Construction

1-simplices of KDT1-simplices of K

candidate vertex pairs

Unify pair with lowest costUnify pair with lowest cost•updating costs of affected candidatesupdating costs of affected candidates

Unify pair with lowest costUnify pair with lowest cost•updating costs of affected candidatesupdating costs of affected candidates

PSC Construction

Form a set of candidate vertex Form a set of candidate vertex pairspairs

•1-simplices of K 1-simplices of K1-simplices of K 1-simplices of KDTDT

Compute cost of each vertex Compute cost of each vertex pairpair

•∆∆E = ∆EE = ∆Edistdist + ∆E + ∆Ediscdisc + E + E∆area ∆area + E+ Efoldfold

Form a set of candidate vertex Form a set of candidate vertex pairspairs

•1-simplices of K 1-simplices of K1-simplices of K 1-simplices of KDTDT

Compute cost of each vertex Compute cost of each vertex pairpair

•∆∆E = ∆EE = ∆Edistdist + ∆E + ∆Ediscdisc + E + E∆area ∆area + E+ Efoldfold

Simplification Results

72,346 72,346 trianglestriangles

674 triangles674 triangles

Simplification Results

8,936 8,936 trianglestriangles

170 170 trianglestriangles

PSCPSC

VV KK

MM̂̂

MM11

gvsplgvspl

progressive geometry progressive geometry and topologyand topology

losslesslossless

any triangulationany triangulation

single single vertexvertex

PSC Summary

arbitrary arbitrary simplicial simplicial complexcomplex

Continuous LOD sequenceContinuous LOD sequence

Smooth transitions Smooth transitions (Geomorphs)(Geomorphs)

Progressive transmissionProgressive transmission

Space-efficient representationSpace-efficient representation

Continuous LOD sequenceContinuous LOD sequence

Smooth transitions Smooth transitions (Geomorphs)(Geomorphs)

Progressive transmissionProgressive transmission

Space-efficient representationSpace-efficient representation

PSC Summary

Supports topological changesSupports topological changes

Models of arbitrary dimensionModels of arbitrary dimension

Supports topological changesSupports topological changes

Models of arbitrary dimensionModels of arbitrary dimensione.g. LOD in volume renderinge.g. LOD in volume renderinge.g. LOD in volume renderinge.g. LOD in volume rendering

top related