Mesh-Based Methods for Multiresolution Representations

101
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 [email protected]

description

Mesh-Based Methods for Multiresolution Representations. Instructor: Ken Joy Center for Image Processing and Integrated Computing Computer Science Department University of California, Davis [email protected]. Multiresolution Methods. Multiresolution Methods. (Crater Lake, USA). - PowerPoint PPT Presentation

Transcript of Mesh-Based Methods for Multiresolution Representations

Page 1: Mesh-Based Methods for Multiresolution Representations

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

[email protected]

Page 2: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 2

Multiresolution Methods

Page 3: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 3

Multiresolution Methods

(Crater Lake, USA) (Courtesy: M.Bertram, UC Davis)

Page 4: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 4

Multiresolution Methods

(Courtesy: M.Bertram, UC Davis)(Crater Lake, USA)

Page 5: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 5

Multiresolution Methods

(Courtesy: M.Bertram, UC Davis)(Crater Lake, USA)

Page 6: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 6

(Courtesy: M.Bertram, UC Davis)

Multiresolution Methods

(Crater Lake, USA)

Page 7: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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!

Page 8: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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

Page 9: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 10: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 10

Classification of bottom-up methods

Page 11: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 11

Bottom-up methods

Remove elements, creating a hole in the mesh.

Page 12: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 12

Classification of bottom-up methods

Re-triangulate the hole using fewer elements

Page 13: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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 (L1,L2, L∞)

– The number of triangles should be minimized.• “reduced” is OK

Page 14: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 15: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 15

Bottom-up Methods

• Vertex Removal Methods

• Edge Removal Methods

• Triangle Removal Methods

• Tetrahedra Removal Methods

Page 16: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 16

Vertex removal methods

Select an element to be eliminated.

Page 17: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 17

Vertex removal methods

Select all triangles sharing this vertex.

Page 18: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 18

Vertex removal methods

Remove the selected triangles, creating the hole.

Page 19: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 19

Vertex removal methods

Fill the hole with triangles.

Page 20: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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

Page 21: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 22: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 22

Edge removal methods

Select an edge to be eliminated.

Page 23: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 23

Edge removal methods

Select all triangles adjacent to this edge.

Page 24: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 24

Edge removal methods

Remove these triangles, creating a hole.

Page 25: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 25

Edge removal methods

Fill the hole with triangles.

Page 26: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 26

Triangle removal methods

Select a triangle for removal

Page 27: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 27

Triangle removal methods

Select all triangles that are adjacent to the selected one.

Page 28: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 28

Triangle removal methods

Remove the selected triangles

Page 29: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 29

Triangle removal methods

Re-triangulate the region

Page 30: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 31: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 31

Vertex removal methods

Page 32: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 32

Vertex removal methods

Use a constrained Delaunay triangulation to fill the hole. (Schroeder, et al., 1992).

Page 33: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 33

Edge collapse methods

Page 34: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 34

Edge collapse methods

Page 35: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 35

Edge collapse methods

Page 36: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 36

Edge collapse methods

Page 37: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 37

Edge collapse methods

Page 38: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 38

Edge collapse methods

Page 39: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 39

Edge collapse methods

Page 40: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 40

Edge collapse methods

Page 41: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 41

Edge collapse methods

Page 42: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 42

Edge collapse methods

Page 43: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 43

Edge collapse methods

Page 44: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 44

Triangle collapse methods

Page 45: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 45

Triangle collapse methods

Page 46: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 46

Triangle collapse methods

Page 47: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 47

Triangle collapse methods

Page 48: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 48

Triangle collapse methods

Page 49: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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))E(A)E(T)E(F)E(C

Page 50: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 51: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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”

Page 52: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 52

Progressive Meshes

)V(E)V(E)V(Emin)k(C scalarspringdistV

Priority of an element.

Distance of V from the original mesh.

Energy if a spring is placed on each edge.

Scalar attribute deviation

Page 53: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 54: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 54

QEM Simplification• Error of a vertex v is vTQv

• 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 v1 and v2 by Q1+Q2.

• The priority queue is constructed on the “collapse cost”

Page 55: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 55

QEM Simplification

(Courtesy: M.Garland, UIUC)

Page 56: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 56

QEM Simplification

Full Resolution 60,000 triangles 1000 triangles

(Courtesy: M.Garland, UIUC)

Page 57: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 58: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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

)T(V)T(S)T(FA)T(C T

Prioritizes high for low area

Page 59: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 59

Choosing the collapse point

Page 60: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 60

Triangle collapse

(Courtesy: G. Schussman, UC Davis)

Page 61: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 61

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 62: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 62

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 63: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 63

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 64: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 64

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 65: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 65

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 66: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 66

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 67: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 67

Collapsing the bunny

(Courtesy: G. Schussman, UC Davis)

Page 68: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 68

The error between meshes

Page 69: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 69

Crater Lake data set

(Courtesy: I. Trotts, UC Davis)

Page 70: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 70

Crater Lake data set

(Courtesy: I. Trotts, UC Davis)

Page 71: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 72: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 72

Tetrahedral collapse algorithms

Consider a triangle mesh on a regular grid.

Collapse this edge

Page 73: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 73

Tetrahedral collapse algorithms

Page 74: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 74

Tetrahedral collapse algorithms

Page 75: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 75

Tetrahedral collapse algorithms

Page 76: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 76

Tetrahedral collapse algorithms

Page 77: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 77

Tetrahedral collapse algorithms

Page 78: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 78

Tetrahedral collapse algorithms

Two triangles will become degenerate.

Page 79: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 79

Tetrahedral collapse algorithms

(Courtesy: I. Trotts, UC Davis)

Page 80: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 80

Tetrahedral collapse algorithms

(Courtesy: I. Trotts, UC Davis)

Page 81: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 81

Tetrahedral collapse algorithms

(Courtesy: I. Trotts, UC Davis)

Page 82: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 82

Tetrahedral collapse algorithms

(Courtesy: I. Trotts, UC Davis)

Page 83: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 83

Tetrahedral collapse algorithms

(Courtesy: I. Trotts, UC Davis)

Page 84: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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”

Page 85: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 86: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 87: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 88: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 88

“Dying Sun”

100 tiles 500 tiles 2000 tiles

Page 89: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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

Page 90: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 90

Splitting Clusters of Vectors

Page 91: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 91

Visualization Space Error

• Streamline error

– Compute streamline pairs, using original field points as seeds

– Define the error as the deviation of streamline pairs:

Page 92: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 92

Splitting Clusters of Vectors

40 Clusters 300 Clusters(Courtesy: B. Heckel, UC Davis)

Page 93: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 93

Splitting Clusters of Vectors

Page 94: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 94

Splitting Clusters of Vectors

200 Clusters 2000 Clusters(Courtesy: B. Heckel, UC Davis)

Page 95: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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.

Page 96: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 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)

Page 97: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 97

Challenges

100% 15% - smoothed (Courtesy: M.Bertram, UC Davis)

Page 98: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 98

Challenges

(Courtesy: M.Duchaineau, LLNL)

Page 99: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 99

1,187,000 points 5% - 59,000 points

Challenges

Page 100: Mesh-Based Methods for Multiresolution Representations

Tutorial Vis2000 Mesh-Based Methods Slide 100

Thank You!

[email protected]

http://graphics.cs.ucdavis.edu

Page 101: Mesh-Based Methods for Multiresolution Representations

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

[email protected]