Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Efficient High-Resolution Stereo Matching using Local Plane Sweeps Sudipta N. Sinha, Daniel Scharstein, Richard CVPR 2014 Yongho Shin.
Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Mesh Simplification. Plan Introduction Mesh Simplifications Current Techniques The Projet Results.
Discrete Geometry Tutorial 2 1
5/1/2000Deepak Bandyopadhyay / UNC Chapel Hill 1 Extended Quadric Error Functions for Surface Simplification Deepak Bandyopadhyay COMP 258 F2000 Project.
Polygonal Mesh – Data Structure and Processing
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Mesh Simplification Global and Local Methods:
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Vieira et al. - Fast Stellar Mesh Simplification 1 Fast Stellar Mesh Simplification Antônio W. Vieira 1,2 Luiz Velho 3 Hélio Lopes 1 Geovan Tavares 1 Thomas.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Part Two Multiresolution Analysis of Arbitrary Meshes M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, W. Stuetzle SIGGRAPH 95.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
SMI 2002 Multiresolution Tetrahedral Meshes: an Analysis and a Comparison Emanuele Danovaro, Leila De Floriani University of Genova, Genova (Italy) Michael.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Viewpoint Entropy-driven Simplification Pascual Castelló 1, Mateu Sbert 2, Miguel Chover 1 and Miquel Feixas 2 1 Universitat Jaume I de Castelló, Spain.
On-line Space Sculpturing for 3D Shape Manipulation
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
Progressive Meshes with Controlled Topology Modification University of Bonn Institute II. for Computer Science Computer Graphics Group Pavcl Borodin Rchinhard.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Polygonal Simplification Techniques
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
SpaDaGIS Efficiency Issues in Multi-resolution Terrain Modeling Leila De FlorianiPaola Magillo Leila De Floriani * Paola Magillo Department of Computer.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
1 Multi-resolution Tetrahedral Meshes Leila De Floriani Department of Computer and Information Sciences University of Genova, Genova (Italy)
Automatic Construction of Quad-Based Subdivision Surfaces using Fitmaps Daniele Panozzo, Enrico Puppo DISI - University of Genova, Italy Marco Tarini DICOM.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Level of Detail: Generating LODs David Luebke University of Virginia.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.
Decimation Of Triangle Meshes
Advanced Computer Graphics
CS Computer Graphics II
Level of Detail (LOD) Models Part Two
User-Guided Simplification
CS475 3D Game Development Level Of Detail Nodes (LOD)
Domain-Modeling Techniques
Delaunay Triangulation & Application
Chap 10. Geometric Level of Detail
Presentation transcript:

Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing Computer Science Department University of California, Davis

Tutorial Vis2000Mesh-Based MethodsSlide 2 Multiresolution Methods

Tutorial Vis2000Mesh-Based MethodsSlide 3 Multiresolution Methods (Crater Lake, USA)(Courtesy: M.Bertram, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 4 Multiresolution Methods (Courtesy: M.Bertram, UC Davis)(Crater Lake, USA)

Tutorial Vis2000Mesh-Based MethodsSlide 5 Multiresolution Methods (Courtesy: M.Bertram, UC Davis)(Crater Lake, USA)

Tutorial Vis2000Mesh-Based MethodsSlide 6 (Courtesy: M.Bertram, UC Davis) Multiresolution Methods (Crater Lake, USA)

Tutorial Vis2000Mesh-Based MethodsSlide 7 Objective We wish to create a multiresolution view of a data set, and We want to do this by dealing only with the mesh and the data values directly. –No wavelets! –No splines! –Just the mesh!

Tutorial Vis2000Mesh-Based MethodsSlide 8 Bottom-up Methods –Start with the finest resolution. –Iteratively remove elements to generate lower- resolution versions of the data Top-down Methods –Start with a simplified mesh that coarsely approximates the given data set. –Add elements to this mesh, generating better approximations at each step. The Basic Methods

Tutorial Vis2000Mesh-Based MethodsSlide 9 Classification of bottom-up methods Select an element of the mesh –A vertex –An edge –A triangle –A tetrahedron Remove the element and all mesh edges that connect to the element. Replace the resulting hole in the mesh with fewer triangular or tetrahedral elements.

Tutorial Vis2000Mesh-Based MethodsSlide 10 Classification of bottom-up methods

Tutorial Vis2000Mesh-Based MethodsSlide 11 Bottom-up methods Remove elements, creating a hole in the mesh.

Tutorial Vis2000Mesh-Based MethodsSlide 12 Classification of bottom-up methods Re-triangulate the hole using fewer elements

Tutorial Vis2000Mesh-Based MethodsSlide 13 Bottom-up Methods We would like to fill the hole “optimally” –The error between the two triangulations should be minimized. (Examples: height fields) Hausdorff error is best, but most errors are approximated (L 1,L 2, L ∞ ) –The number of triangles should be minimized. “reduced” is OK

Tutorial Vis2000Mesh-Based MethodsSlide 14 Bottom-up Methods Most methods operate from a priority queue of elements. –Vertices, edges, or triangles are ordered in a priority queue and processed one-by-one as they come out of the queue. –The “cost function,” which assigns the priority, determines the ordering.

Tutorial Vis2000Mesh-Based MethodsSlide 15 Bottom-up Methods Vertex Removal Methods Edge Removal Methods Triangle Removal Methods Tetrahedra Removal Methods

Tutorial Vis2000Mesh-Based MethodsSlide 16 Vertex removal methods Select an element to be eliminated.

Tutorial Vis2000Mesh-Based MethodsSlide 17 Vertex removal methods Select all triangles sharing this vertex.

Tutorial Vis2000Mesh-Based MethodsSlide 18 Vertex removal methods Remove the selected triangles, creating the hole.

Tutorial Vis2000Mesh-Based MethodsSlide 19 Vertex removal methods Fill the hole with triangles.

Tutorial Vis2000Mesh-Based MethodsSlide 20 Vertex removal methods Most frequently used method of triangulations: –Use a constrained Delaunay triangulation to fill the hole (Schroeder, et al.). –Works best on height fields –Must alter the “Delaunay” criterion slightly to work with data sets that are not height fields

Tutorial Vis2000Mesh-Based MethodsSlide 21 Prioritizing Vertices for Removal Using a point-to-plane distance test. –Fit a plane through the point neighboring each vertex. –Measure the distance of each vertex from its respective best-fit plane. –Higher priority to those points that have associated the smaller distances.

Tutorial Vis2000Mesh-Based MethodsSlide 22 Edge removal methods Select an edge to be eliminated.

Tutorial Vis2000Mesh-Based MethodsSlide 23 Edge removal methods Select all triangles adjacent to this edge.

Tutorial Vis2000Mesh-Based MethodsSlide 24 Edge removal methods Remove these triangles, creating a hole.

Tutorial Vis2000Mesh-Based MethodsSlide 25 Edge removal methods Fill the hole with triangles.

Tutorial Vis2000Mesh-Based MethodsSlide 26 Triangle removal methods Select a triangle for removal

Tutorial Vis2000Mesh-Based MethodsSlide 27 Triangle removal methods Select all triangles that are adjacent to the selected one.

Tutorial Vis2000Mesh-Based MethodsSlide 28 Triangle removal methods Remove the selected triangles

Tutorial Vis2000Mesh-Based MethodsSlide 29 Triangle removal methods Re-triangulate the region

Tutorial Vis2000Mesh-Based MethodsSlide 30 Bottom-up methods Mathematical conditions must be established that select the element to be removed. Methods must be established that “optimally” fill the hole, minimizing the “error” between the resulting data sets.

Tutorial Vis2000Mesh-Based MethodsSlide 31 Vertex removal methods

Tutorial Vis2000Mesh-Based MethodsSlide 32 Vertex removal methods Use a constrained Delaunay triangulation to fill the hole. (Schroeder, et al., 1992).

Tutorial Vis2000Mesh-Based MethodsSlide 33 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 34 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 35 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 36 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 37 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 38 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 39 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 40 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 41 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 42 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 43 Edge collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 44 Triangle collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 45 Triangle collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 46 Triangle collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 47 Triangle collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 48 Triangle collapse methods

Tutorial Vis2000Mesh-Based MethodsSlide 49 Prioritizing Elements Priority of an element. Prioritizes for the characteristic you want to select Prioritizes for topology characteristics you wish to select Prioritizes inversely for artifacts that your algorithm produces that you would like to avoid. P(E) = F(E) + T(E) + A(E)

Tutorial Vis2000Mesh-Based MethodsSlide 50 Priority-Queue Methods Using the priority (cost) function, prioritize all elements in the mesh. Collapse the element with the lowest priority. Re-adjust the priorities of the elements of the queue affected by the collapse.

Tutorial Vis2000Mesh-Based MethodsSlide 51 Progressive Meshes Hoppe, SIGGRAPH 97 Uses edge collapse –Benefit: Uses only the points of the original mesh. Adds no points to the mesh. Prioritizes edge collapse operations by using strategies from “mesh optimizations”

Tutorial Vis2000Mesh-Based MethodsSlide 52 Progressive Meshes Priority of an element. Distance of V from the original mesh. Energy if a spring is placed on each edge. Scalar attribute deviation

Tutorial Vis2000Mesh-Based MethodsSlide 53 QEM Simplification Garland and Heckbert, SIGGRAPH 97 An edge-collapse method. Introduces the Quadric Error Metric to prioritize collapses –A 4x4 matrix Q is associated with each vertex.

Tutorial Vis2000Mesh-Based MethodsSlide 54 QEM Simplification Error of a vertex v is v T Qv Compute matrices Q for all vertices Compute the collapse cost an edge by summing the quadric error metrics of its vertices, i.e., of the edge joining v 1 and v 2 by Q 1 +Q 2. The priority queue is constructed on the “collapse cost”

Tutorial Vis2000Mesh-Based MethodsSlide 55 QEM Simplification (Courtesy: M.Garland, UIUC)

Tutorial Vis2000Mesh-Based MethodsSlide 56 QEM Simplification Full Resolution60,000 triangles1000 triangles (Courtesy: M.Garland, UIUC)

Tutorial Vis2000Mesh-Based MethodsSlide 57 Triangle-Collapse Algorithms Gieng, et al., Visualization ’98 Proceedings Collapses individual triangles to a point. Collapse point is chosen by a best-fit quadric to the surface about a triangle.

Tutorial Vis2000Mesh-Based MethodsSlide 58 Prioritizing for Triangle Collapse Priority of an element. Prioritizes high for low absolute curvature Prioritizes high for equilateral triangles, low for skinny triangles. Prioritizes high for collapses that do not generate high-valence vertices Prioritizes high for low area

Tutorial Vis2000Mesh-Based MethodsSlide 59 Choosing the collapse point

Tutorial Vis2000Mesh-Based MethodsSlide 60 Triangle collapse (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 61 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 62 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 63 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 64 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 65 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 66 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 67 Collapsing the bunny (Courtesy: G. Schussman, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 68 The error between meshes

Tutorial Vis2000Mesh-Based MethodsSlide 69 Crater Lake data set (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 70 Crater Lake data set (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 71 Tetrahedral Meshes Topological problems of tetrahedron collapse algorithms are overwhelming. Resorting to edge collapse algorithms –Even then, the topological problems are difficult to overcome.

Tutorial Vis2000Mesh-Based MethodsSlide 72 Tetrahedral collapse algorithms Consider a triangle mesh on a regular grid. Collapse this edge

Tutorial Vis2000Mesh-Based MethodsSlide 73 Tetrahedral collapse algorithms

Tutorial Vis2000Mesh-Based MethodsSlide 74 Tetrahedral collapse algorithms

Tutorial Vis2000Mesh-Based MethodsSlide 75 Tetrahedral collapse algorithms

Tutorial Vis2000Mesh-Based MethodsSlide 76 Tetrahedral collapse algorithms

Tutorial Vis2000Mesh-Based MethodsSlide 77 Tetrahedral collapse algorithms

Tutorial Vis2000Mesh-Based MethodsSlide 78 Tetrahedral collapse algorithms Two triangles will become degenerate.

Tutorial Vis2000Mesh-Based MethodsSlide 79 Tetrahedral collapse algorithms (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 80 Tetrahedral collapse algorithms (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 81 Tetrahedral collapse algorithms (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 82 Tetrahedral collapse algorithms (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 83 Tetrahedral collapse algorithms (Courtesy: I. Trotts, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 84 Summary of bottom-up methods All methods start with the original mesh. All methods remove elements from the mesh, replacing them by fewer elements. Most work with a “priority queue”

Tutorial Vis2000Mesh-Based MethodsSlide 85 Top-down methods These methods start with a very coarse approximation to the original mesh. New points are inserted into the coarse mesh depending on an error estimate.

Tutorial Vis2000Mesh-Based MethodsSlide 86 Delaunay Methods Cignoni, deFloriani, Scopigno papers Start with a coarse mesh. Insert the point of the original data set that has the maximum error. Re-triangulate to insure a Delaunay triangulation. “Delaunay” definition may have to be changed for non-height fields.

Tutorial Vis2000Mesh-Based MethodsSlide 87 Voronoi Methods Schussman, Bertram, et al., 2000 For each point, use a Voronoi diagram to establish the “grid.” Use Sibson’s interpolant on Voronoi Cells for approximation.

Tutorial Vis2000Mesh-Based MethodsSlide 88 “Dying Sun” 100 tiles500 tiles2000 tiles

Tutorial Vis2000Mesh-Based MethodsSlide 89 Vector-field Simplification Heckel, et al., Visualization ’99 Use clustering to obtain groups of elements Represent each cluster by a single element –Point at the center of the cluster, and a vector Use a scattered data interpolant to obtain approximations of other points in the field

Tutorial Vis2000Mesh-Based MethodsSlide 90 Splitting Clusters of Vectors

Tutorial Vis2000Mesh-Based MethodsSlide 91 Visualization Space Error Streamline error –Compute streamline pairs, using original field points as seeds –Define the error as the deviation of streamline pairs:

Tutorial Vis2000Mesh-Based MethodsSlide 92 Splitting Clusters of Vectors 40 Clusters300 Clusters (Courtesy: B. Heckel, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 93 Splitting Clusters of Vectors

Tutorial Vis2000Mesh-Based MethodsSlide 94 Splitting Clusters of Vectors 200 Clusters 2000 Clusters (Courtesy: B. Heckel, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 95 Summary of top-down methods All methods refine a coarse approximation, creating successively finer mesh approximations. This area is not as well developed as the bottom-up methods.

Tutorial Vis2000Mesh-Based MethodsSlide 96 Challenges Complex Surfaces (Isosurface data) Not just a few (thousands of) polygons, but billions. Most of the mesh-based algorithms do not scale well in our initial tests! (Courtesy: M.Bertram, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 97 Challenges 100%15% - smoothed (Courtesy: M.Bertram, UC Davis)

Tutorial Vis2000Mesh-Based MethodsSlide 98 Challenges (Courtesy: M.Duchaineau, LLNL)

Tutorial Vis2000Mesh-Based MethodsSlide 99 1,187,000 points5% - 59,000 points Challenges

Tutorial Vis2000Mesh-Based MethodsSlide 100 Thank You!

Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing Computer Science Department University of California, Davis