1.01k likes | 1.18k Views
Mesh-Based Methods for Multiresolution Representations. Instructor: Ken Joy Center for Image Processing and Integrated Computing Computer Science Department University of California, Davis joy@cs.ucdavis.edu. Multiresolution Methods. Multiresolution Methods. (Crater Lake, USA).
E N D
Mesh-Based Methods for Multiresolution Representations Visualization 2000 Tutorial Instructor: Ken Joy Center for Image Processing and Integrated Computing Computer Science Department University of California, Davis joy@cs.ucdavis.edu
Multiresolution Methods (Crater Lake, USA) (Courtesy: M.Bertram, UC Davis)
Multiresolution Methods (Crater Lake, USA) (Courtesy: M.Bertram, UC Davis)
Multiresolution Methods (Crater Lake, USA) (Courtesy: M.Bertram, UC Davis)
Multiresolution Methods (Crater Lake, USA) (Courtesy: M.Bertram, UC Davis)
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!
The Basic Methods • 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.
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.
Bottom-up methods Remove elements, creating a hole in the mesh.
Classification of bottom-up methods Re-triangulate the hole using fewer elements
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 (L1,L2, L∞) • The number of triangles should be minimized. • “reduced” is OK
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.
Bottom-up Methods • Vertex Removal Methods • Edge Removal Methods • Triangle Removal Methods • Tetrahedra Removal Methods
Vertex removal methods Select an element to be eliminated.
Vertex removal methods Select all triangles sharing this vertex.
Vertex removal methods Remove the selected triangles, creating the hole.
Vertex removal methods Fill the hole with triangles.
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
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.
Edge removal methods Select an edge to be eliminated.
Edge removal methods Select all triangles adjacent to this edge.
Edge removal methods Remove these triangles, creating a hole.
Edge removal methods Fill the hole with triangles.
Triangle removal methods Select a triangle for removal
Triangle removal methods Select all triangles that are adjacent to the selected one.
Triangle removal methods Remove the selected triangles
Triangle removal methods Re-triangulate the region
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.
Vertex removal methods Use a constrained Delaunay triangulation to fill the hole. (Schroeder, et al., 1992).
Priority of an element. Prioritizes for topology characteristics you wish to select Prioritizes for the characteristic you want to select Prioritizes inversely for artifacts that your algorithm produces that you would like to avoid. Prioritizing Elements P(E) = F(E) + T(E) + A(E)
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.