Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.

Similar presentations


Presentation on theme: "CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013."— Presentation transcript:

1 CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013

2 CSE554SimplificationSlide 2 Geometry Processing Fairing (smoothing) – Relocating vertices to achieve a smoother appearance – Method: centroid averaging Simplification – Reducing vertex count Deformation – Relocating vertices guided by user interaction or to fit onto a target

3 CSE554SimplificationSlide 3 Points and Vectors Same representation, but different meanings and operations – Vectors can add, scale – Points can add with vectors – Points can add with points, only using affine combination x Y 1 2 2

4 CSE554SimplificationSlide 4 Dot product (in both 2D and 3D) – Result is a scalar – In coordinates (simple!) 2D: 3D: Matrix product between a row and a column vector More Vector Operations

5 CSE554SimplificationSlide 5 Uses of dot products – Angle between vectors: Orthogonal: – Projected length of onto : More Vector Operations h

6 CSE554SimplificationSlide 6 Cross product (only in 3D) – Result is another 3D vector Direction: Normal to the plane where both vectors lie (right-hand rule) Magnitude: – In coordinates: More Vector Operations

7 CSE554SimplificationSlide 7 More Vector Operations Uses of cross products – Getting the normal vector of the plane E.g., the normal of a triangle formed by – Computing area of the triangle formed by Testing if vectors are parallel:

8 CSE554SimplificationSlide 8 More Vector Operations Dot ProductCross Product Distributive? Commutative? Associative? (Sign change!)

9 CSE554SimplificationSlide 9 Simplification (2D) Representing the shape with fewer vertices (and edges) 200 vertices50 vertices

10 CSE554SimplificationSlide 10 Simplification (2D) If I want to replace two vertices with one, where should it be?

11 CSE554SimplificationSlide 11 Simplification (2D) If I want to replace two vertices with one, where should it be? – Shortest distances to the supporting lines of involved edges After replacement:

12 CSE554SimplificationSlide 12 Simplification (2D) Distance to a line – Line represented as a point q on the line, and a perpendicular unit vector (the normal) n To get n: take a vector {x,y} along the line, n is {-y,x} followed by normalization – Distance from any point p to the line: Projection of vector (p-q) onto n – This distance has a sign “Above” or “under” of the line We will use the distance squared Line

13 CSE554SimplificationSlide 13 Simplification (2D) Closed point to multiple lines – Sum of squared distances from p to all lines (Quadratic Error Metric, QEM) Input lines: – We want to find the p with the minimum QEM Since QEM is a convex quadratic function of p, the minimizing p is where the derivative of QEM is zero, which is a linear equation

14 CSE554SimplificationSlide 14 Simplification (2D) Minimizing QEM – Writing QEM in matrix form 2x2 matrix1x2 column vectorScalar [Eq. 1] Matrix (dot) product Row vector Matrix transpose

15 CSE554SimplificationSlide 15 Simplification (2D) Minimizing QEM – Solving the zero-derivative equation: – A linear system with 2 equations and 2 unknowns (p x,p y ) Using Gaussian elimination, or matrix inversion: [Eq. 2]

16 CSE554SimplificationSlide 16 Simplification (2D) What vertices to merge first? – Pick the ones that lie on “flat” regions, or whose replacing vertex introduces least QEM error. 

17 CSE554SimplificationSlide 17 Simplification (2D) The algorithm – Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge.

18 CSE554SimplificationSlide 18 Simplification (2D) The algorithm – Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. – Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges.

19 CSE554SimplificationSlide 19 Simplification (2D) The algorithm – Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. – Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges.

20 CSE554SimplificationSlide 20 Simplification (2D) The algorithm – Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. – Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. – Step 3: Repeat step 2, until a desired number of vertices is left.

21 CSE554SimplificationSlide 21 Simplification (2D) The algorithm – Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. – Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. – Step 3: Repeat step 2, until a desired number of vertices is left.

22 CSE554SimplificationSlide 22 Simplification (2D) Step 1: Computing minimizer and QEM on an edge – Consider supporting lines of this edge and adjacent edges – Compute and store at the edge: The minimizing location p (Eq. 2) QEM (substitute p into Eq. 1) – Used for edge selection in Step 2 QEM coefficients (a, b, c) – Used for fast update in Step 2 Stored at the edge: [Eq. 1]

23 CSE554SimplificationSlide 23 Simplification (2D) Step 2: Collapsing an edge – Remove the edge and its vertices – Re-connect two neighbor edges to the minimizer of the removed edge – For each re-connected edge: Increment its coefficients by that of the removed edge – The coefficients are additive! Re-compute its minimizer and QEM Collapse : new minimizer locations computed from the updated coefficients

24 CSE554SimplificationSlide 24 Simplification (3D) The algorithm is similar to 2D – Replace two edge-adjacent vertices by one vertex Placing new vertices closest to supporting planes of adjacent triangles – Prioritize collapses based on QEM

25 CSE554SimplificationSlide 25 Simplification (3D) Distance to a plane (similar to the line case) – Plane represented as a point q on the plane, and a unit normal vector n For a triangle: n is the cross-product of two edge vectors – Distance from any point p to the plane: Projection of vector (p-q) onto n – This distance has a sign “above” or “below” the plane We use its square

26 CSE554SimplificationSlide 26 Simplification (3D) Closest point to multiple planes – Input planes: – QEM (same as in 2D) In matrix form: – Find p that minimizes QEM: A linear system with 3 equations and 3 unknowns (p x,p y,p z ) 3x3 matrix 1x3 column vector Scalar

27 CSE554SimplificationSlide 27 Simplification (3D) Step 1: Computing minimizer and QEM on an edge – Consider supporting planes of all triangles adjacent to the edge – Compute and store at the edge: The minimizing location p QEM[p] QEM coefficients (a, b, c) The supporting planes for all shaded triangles should be considered when computing the minimizer of the middle edge.

28 CSE554SimplificationSlide 28 Simplification (3D) Step 2: Collapsing an edge – Remove the edge with least QEM – Re-connect neighbor triangles and edges to the minimizer of the removed edge Remove “degenerate” triangles Remove “duplicate” edges – For each re-connected edge: Increment its coefficients by that of the removed edge Re-compute its minimizer and QEM Collapse Degenerate triangles after collapse Duplicate edges after collapse

29 CSE554SimplificationSlide 29 Simplification (3D) Example: 5600 vertices500 vertices

30 CSE554SimplificationSlide 30 Further Readings Fairing: – “A signal processing approach to fair surface design”, by G. Taubin (1995) No-shrinking centroid-averaging Google citations > 1000 Simplification: – “Surface simplification using quadric error metrics”, by M. Garland and P. Heckbert (1997) Edge-collapse simplification Google citations > 2000


Download ppt "CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013."

Similar presentations


Ads by Google