Download Presentation
## Part Two

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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**• Remeshing – subdivision connectivity • Multiresolution analysis and editing • Level-of-detail**Harmonic Maps**• Defined for topological disks • Minimize distortion in some sense • Do not guarantee an embedding (triangles flips may occur) • Require boundary conditions**Harmonic Maps - definition**Input: mesh G with disk topology: N vertices {p1, …, pn , …, pN} where p1, …, pnare boundary vertices Goal: Compute an embedding h of G h(i) = qi = (ui , vi) i = 1, …, N**Harmonic Maps - definition**• The 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 minimal**Boundary conditions**- corner vertices**Harmonic mapping**• Strives to preserve angles (conformal) • We treat the mesh as a system of springs. • Define spring energy: where vi are the flat positions, and the boundary vertices v1, v2, …, vn are constrained.**Energy minimization – least squares**• We want to find such flat positions that the energy is as small as possible. • Solve the linear least squares problem! Eharmis function of 2(N–n) variables**Energy minimization – least squares**• To find minimum: Eharm= 0 • Again, x1,…., xn and y1, …, yn are constrained.**Energy minimization – least squares**• To find minimum: Eharm= 0 • Again, x1,…., xn and y1, …, yn are constrained.**The spring constants ki,j**• The weights ki,j are chosen to minimize angles distortion: • Look at the edge (i, j) in the 3D mesh • Set the weight ki,j = cot + cot i 3D j**Partition**• Compute Voronoi diagram on the mesh • Compute induced Delaunay triangulation • Construct the base mesh**Voronoi Diagram**• Given s faces (= sites) on the surface, expand patches (= Voronoi cells) around each one, using s-source Dijkstra algorithm • 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**Voronoi Diagram**Each cell is a topological disk**Voronoi Diagram**Two cells share at most one boundary**Voronoi Diagram**Two cells share at most one boundary**Voronoi Diagram**At most three cells meet at a vertex**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.**Constructing Delaunay triangulation**• 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.**Algorithm summary**• Partition the mesh (Delaunay triangulation) • Construct the base mesh • 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!**34 min. , 70,000 faces**4,600 faces , e < 1.2 % 162 faces 2,000 faces , e < 2.0 %**40 min. , 100,000 faces**4,700 faces , e < 1.5 % 229 faces 2,000 faces , e < 2.0 %**346 min. , 166,000 faces**16,451 faces , e < 2.6 % 132 faces**Convex weights for inner vertices**• 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 flips