part two

34
Part Two Part Two Multiresolution Analysis of Multiresolution Analysis of Arbitrary Meshes Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95 SIGGRAPH 95

Upload: matthew-thornton

Post on 02-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Part Two. Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95. Outline. Partition using Voronoi diagram and Delaunay triangulation Parameterization using Harmonic Maps. Original mesh. Base complex. Applications. - PowerPoint PPT Presentation

TRANSCRIPT

Part TwoPart Two

Multiresolution Analysis of Arbitrary Multiresolution Analysis of Arbitrary MeshesMeshes

M. Eck, T. DeRose, T. Duchamp, M. Eck, T. DeRose, T. Duchamp,

H. Hoppe, M. Lounsbery, W. StuetzleH. Hoppe, M. Lounsbery, W. StuetzleSIGGRAPH 95SIGGRAPH 95

OutlineOutline

• Partition using Voronoi diagram and Partition using Voronoi diagram and Delaunay triangulationDelaunay triangulation

• Parameterization using Harmonic MapsParameterization using Harmonic Maps

Original mesh Base complex

ApplicationsApplications

• Remeshing – subdivision connectivityRemeshing – subdivision connectivity

• Multiresolution analysis and editingMultiresolution analysis and editing

• Level-of-detailLevel-of-detail

Harmonic MapsHarmonic Maps

• Defined for topological disksDefined for topological disks

• Minimize distortion in some senseMinimize distortion in some sense

• Do not guarantee an embedding Do not guarantee an embedding (triangles flips may occur)(triangles flips may occur)

• Require boundary conditionsRequire boundary conditions

Harmonic Maps - definitionHarmonic Maps - definition

InputInput: :

mesh mesh GG with disk topology: with disk topology:

N vertices {N vertices {pp11, …, , …, ppn n , …, , …, ppNN} where} where

pp11, …, , …, ppnn are boundary verticesare boundary vertices

GoalGoal: :

Compute an embedding Compute an embedding hh of of GG

hh(i) = (i) = qqii = ( = (uuii , , vvii) ) i i = 1, …, N = 1, …, N

Harmonic Maps - definitionHarmonic Maps - definition

• The The boundary verticesboundary vertices are mapped to a are mapped to a convex polygon in the parameter convex polygon in the parameter domaindomain

• Treat each mesh edge as a spring, find Treat each mesh edge as a spring, find mappings for mappings for inner verticesinner vertices s.t. the s.t. the energy of the spring system is minimalenergy of the spring system is minimal

Boundary conditionsBoundary conditions

- corner vertices

Mapping inner verticesMapping inner vertices

Harmonic mappingHarmonic mapping• Strives to preserve angles (conformal)Strives to preserve angles (conformal)• We treat the mesh as a system of We treat the mesh as a system of springs.• Define spring energy:Define spring energy:

where where vvii are the flat positions, and the boundary are the flat positions, and the boundary vertices vertices vv11, , vv22, …, , …, vvnn are constrained. are constrained.

Eji

jijiharm kE),(

2

,2

1vv

Energy minimization – least squaresEnergy minimization – least squares

• We want to find such flat positions that We want to find such flat positions that the energy is as small as possible.the energy is as small as possible.

• Solve the linear least squares problem! Solve the linear least squares problem!

2

1 1 ,( , )

2 2,

( , )

( , )

1( , , , , , )

2

1( ) ( )

2

i i i

harm N N i j i ji j E

i j i j i ji j E

x y

E x x y y k

k x x y y

v

v v

Eharm is function of 2(N–n) variables

Energy minimization – least Energy minimization – least squaressquares

• To find minimum: To find minimum: EEharmharm= = 00

• Again, Again, xx11,…., x,…., xnn and and yy11, …, y, …, ynn are are

constrained.constrained.

0)(22

1

0)(22

1

)(,

)(,

iNjjijiharm

i

iNjjijiharm

i

yykEy

xxkEx

Energy minimization – least Energy minimization – least squaressquares

• To find minimum: To find minimum: EEharmharm= = 00

• Again, Again, xx11,…., x,…., xnn and and yy11, …, y, …, ynn are are

constrained.constrained.

,( )

,( )

( ) 0, 1, 2, ,

( ) 0, 1, 2, ,

i j i jj N i

i j i jj N i

k x x i N

k y y i N

The spring constants The spring constants kki,ji,j

• The weights The weights kki,ji,j are chosen to minimize are chosen to minimize

angles distortion:angles distortion:– Look at the edge Look at the edge ((i, ji, j)) in the 3D mesh in the 3D mesh

– Set the weight Set the weight kki,ji,j = = cot cot + + cotcot

i

j3D

PartitionPartition

• Compute Voronoi diagram on the meshCompute Voronoi diagram on the mesh

• Compute induced Delaunay triangulationCompute induced Delaunay triangulation• Construct the base meshConstruct the base mesh

Voronoi DiagramVoronoi Diagram

• Given s faces (= sites) on the surface, Given s faces (= sites) on the surface, expand patches (= Voronoi cells) around expand patches (= Voronoi cells) around each one, using s-source Dijkstra algorithmeach one, using s-source Dijkstra algorithm

• How to choose the sites?How to choose the sites?– Each Voronoi cell must be a topologic diskEach Voronoi cell must be a topologic disk– Pair of cells share at most one cutPair of cells share at most one cut– No more than three cells share a vertexNo more than three cells share a vertex

Voronoi DiagramVoronoi Diagram

Voronoi DiagramVoronoi Diagram

Each cell is a topological disk

Voronoi DiagramVoronoi Diagram

Two cells share at most one boundary

Voronoi DiagramVoronoi Diagram

Two cells share at most one boundary

Voronoi DiagramVoronoi Diagram

At most three cells meet at a vertex

Choosing the sites – Choosing the sites – greedy approachgreedy approach

Let S be the set of sites. Initiate S with a Let S be the set of sites. Initiate S with a random triangle on the mesh.random triangle on the mesh.

Grow the cells around the sites of S Grow the cells around the sites of S until one of the conditions is violated.until one of the conditions is violated.

Add the violating face to S andAdd the violating face to S and

repeat the process. repeat the process.

Constructing Delaunay Constructing Delaunay triangulationtriangulation

• On the original meshOn the original mesh: connect by a : connect by a path each pair of sites whose cells are path each pair of sites whose cells are adjacentadjacent

• To construct the base meshTo construct the base mesh: connect : connect each pair of adjacent sites by a straight each pair of adjacent sites by a straight line.line.

Constructing Delaunay Constructing Delaunay triangulationtriangulation

Constructing Delaunay Constructing Delaunay triangulationtriangulation

Base meshBase mesh

Algorithm summaryAlgorithm summary

• Partition the mesh (Delaunay Partition the mesh (Delaunay triangulation)triangulation)

• Construct the base meshConstruct the base mesh

• Parameterize each patch over the Parameterize each patch over the corresponding face of the base mesh. corresponding face of the base mesh. The mappings of adjacent patches The mappings of adjacent patches agree on the boundary. agree on the boundary.

Continuous parameterization over the base mesh!

ResultsResults

34 min. , 70,000 faces34 min. , 70,000 faces

162 faces162 faces 2,000 faces , 2,000 faces , < 2.0 % < 2.0 % 4,600 faces , 4,600 faces , < 1.2 % < 1.2 %

40 min. , 100,000 faces40 min. , 100,000 faces

229 faces229 faces 2,000 faces , 2,000 faces , < 2.0 % < 2.0 % 4,700 faces , 4,700 faces , < 1.5 % < 1.5 %

346 min. , 166,000 faces346 min. , 166,000 faces

132 faces132 faces 16,451 faces , 16,451 faces , < 2.6 % < 2.6 %

Texture mappingTexture mapping

Convex parameterizationConvex parameterization

Convex weights for inner verticesConvex weights for inner vertices

( , ) ( ) ( , ) ( )

s.t. 1 and 0i ij j ij iji j N i i j N i

w w w

v v

• If the weights are convex, the solution is always If the weights are convex, the solution is always valid (no self-intersections) [Floater 97]valid (no self-intersections) [Floater 97]

• The cotangent weight in Harmonic Mapping can The cotangent weight in Harmonic Mapping can be negative be negative sometimes there are triangle sometimes there are triangle flipsflips

End of Part TwoEnd of Part Two