Download presentation
Presentation is loading. Please wait.
1
Part Two Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95
2
Outline Partition using Voronoi diagram and Delaunay triangulationPartition using Voronoi diagram and Delaunay triangulation Parameterization using Harmonic MapsParameterization using Harmonic Maps Original meshBase complex
3
Applications Remeshing – subdivision connectivity Remeshing – subdivision connectivity Multiresolution analysis and editing Multiresolution analysis and editing Level-of-detail Level-of-detail
4
Harmonic Maps Defined for topological disksDefined for topological disks Minimize distortion in some senseMinimize distortion in some sense Do not guarantee an embedding (triangles flips may occur)Do not guarantee an embedding (triangles flips may occur) Require boundary conditionsRequire boundary conditions
5
Harmonic Maps - definition Input: mesh G with disk topology: N vertices {p 1, …, p n, …, p N } where p 1, …, p n are boundary vertices p 1, …, p n are boundary vertices Goal: Compute an embedding h of G h(i) = q i = (u i, v i ) i = 1, …, N
6
Harmonic Maps - definition The boundary vertices are mapped to a convex polygon in the parameter domainThe boundary vertices are mapped to a convex polygon in the parameter domain Treat each mesh edge as a spring, find mappings for inner vertices s.t. the energy of the spring system is minimalTreat each mesh edge as a spring, find mappings for inner vertices s.t. the energy of the spring system is minimal
7
Boundary conditions - corner vertices
8
Mapping inner vertices
9
Harmonic mapping Strives to preserve angles (conformal)Strives to preserve angles (conformal) We treat the mesh as a system ofWe treat the mesh as a system of springs. Define spring energy:Define spring energy: where v i are the flat positions, and the boundary vertices v 1, v 2, …, v n are constrained.
10
Energy minimization – least squares We want to find such flat positions that the energy is as small as possible.We want to find such flat positions that the energy is as small as possible. Solve the linear least squares problem!Solve the linear least squares problem! E harm is function of 2(N–n) variables
11
Energy minimization – least squares To find minimum: E harm = 0To find minimum: E harm = 0 Again, x 1,…., x n and y 1, …, y n are constrained.Again, x 1,…., x n and y 1, …, y n are constrained.
12
Energy minimization – least squares To find minimum: E harm = 0To find minimum: E harm = 0 Again, x 1,…., x n and y 1, …, y n are constrained.Again, x 1,…., x n and y 1, …, y n are constrained.
13
The spring constants k i,j The weights k i,j are chosen to minimize angles distortion:The weights k i,j are chosen to minimize angles distortion: –Look at the edge (i, j) in the 3D mesh –Set the weight k i,j = cot + cot i j 3D
14
Partition Compute Voronoi diagram on the mesh Compute Voronoi diagram on the mesh Compute induced Delaunay triangulation Compute induced Delaunay triangulation Construct the base mesh Construct the base mesh
15
Voronoi Diagram Given s faces (= sites) on the surface, expand patches (= Voronoi cells) around each one, using s-source Dijkstra algorithmGiven s faces (= sites) on the surface, expand patches (= Voronoi cells) around each one, using s-source Dijkstra algorithm How to choose the sites? How to choose the sites? – Each Voronoi cell must be a topologic disk – Pair of cells share at most one cut – No more than three cells share a vertex
16
Voronoi Diagram
17
Each cell is a topological disk
18
Voronoi Diagram Two cells share at most one boundary
19
Voronoi Diagram Two cells share at most one boundary
20
Voronoi Diagram At most three cells meet at a vertex
21
Choosing the sites – greedy approach Let S be the set of sites. Initiate S with a random triangle on the mesh. Grow the cells around the sites of S until one of the conditions is violated. Add the violating face to S and repeat the process.
22
Constructing Delaunay triangulation On the original mesh: connect by a path each pair of sites whose cells are adjacent On the original mesh: connect by a path each pair of sites whose cells are adjacent To construct the base mesh: connect each pair of adjacent sites by a straight line. To construct the base mesh: connect each pair of adjacent sites by a straight line.
23
Constructing Delaunay triangulation
25
Base mesh
26
Algorithm summary Partition the mesh (Delaunay triangulation)Partition the mesh (Delaunay triangulation) Construct the base meshConstruct the base mesh Parameterize each patch over the corresponding face of the base mesh. The mappings of adjacent patches agree on the boundary.Parameterize each patch over the corresponding face of the base mesh. The mappings of adjacent patches agree on the boundary. Continuous parameterization over the base mesh!
27
Results
28
34 min., 70,000 faces 162 faces 2,000 faces, < 2.0 % 4,600 faces, < 1.2 %
29
40 min., 100,000 faces 229 faces 2,000 faces, < 2.0 % 4,700 faces, < 1.5 %
30
346 min., 166,000 faces 132 faces 16,451 faces, < 2.6 %
31
Texture mapping
32
Convex parameterization
33
Convex weights for inner vertices If the weights are convex, the solution is always valid (no self-intersections) [Floater 97]If the weights are convex, the solution is always valid (no self-intersections) [Floater 97] The cotangent weight in Harmonic Mapping can be negative sometimes there are triangle flipsThe cotangent weight in Harmonic Mapping can be negative sometimes there are triangle flips
34
End of Part Two
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.