Surface Simplification Dr Scott Schaefer 1 Surface Simplification

  • Slides: 32
Download presentation
Surface Simplification Dr. Scott Schaefer 1

Surface Simplification Dr. Scott Schaefer 1

Surface Simplification n Given a closed polygon model, reduce the number of polygons and

Surface Simplification n Given a closed polygon model, reduce the number of polygons and maintain appearance of the shape 5804 tris 2500 tris 1000 tris 500 tris 2/32

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal n 3/32

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal n Edge Collapse n 4/32

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal n Edge Collapse n Face Collapse, … n 5/32

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal

Reducing Polygons Perform local, topological operations to reduce number of polygons n Vertex removal n Edge Collapse n Face Collapse, … n 6/32

Surface Simplification How do we determine the order of edge collapse operations? n Where

Surface Simplification How do we determine the order of edge collapse operations? n Where do we place new vertex after collapse? n 7/32

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes n 8/32

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes n 9/32

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes n symmetric 3 x 3 3 x 1 10/32

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes

Error Metrics For Simplification QEF: Quadratic Error Function n Measures distance to infinite planes n symmetric 3 x 3 3 x 1 1 x 1 Requires 10 floats independent of number of polygons!!! 11/32

Combining QEFS 12/32

Combining QEFS 12/32

Combining QEFS Add 10 numbers to combine QEFs!!! 13/32

Combining QEFS Add 10 numbers to combine QEFs!!! 13/32

Placement of Vertices Using QEFs n Place new vertex at minimum of error function

Placement of Vertices Using QEFs n Place new vertex at minimum of error function 14/32

Placement of Vertices Using QEFs n Place new vertex at minimum of error function

Placement of Vertices Using QEFs n Place new vertex at minimum of error function 15/32

Placement of Vertices Using QEFs n Place new vertex at minimum of error function

Placement of Vertices Using QEFs n Place new vertex at minimum of error function 16/32

Placement of Vertices Using QEFs n Place new vertex at minimum of error function

Placement of Vertices Using QEFs n Place new vertex at minimum of error function Not invertible in flat areas or straight edges!!! 17/32

Placement of Vertices Using QEFs n Place new vertex at minimum of error function

Placement of Vertices Using QEFs n Place new vertex at minimum of error function Pseudoinverse minimizes |v| 18/32

Placement of Vertices Using QEFs n Let where c is a point we want

Placement of Vertices Using QEFs n Let where c is a point we want to minimize the distance to 19/32

Placement of Vertices Using QEFs n Let where c is a point we want

Placement of Vertices Using QEFs n Let where c is a point we want to minimize the distance to 20/32

Placement of Vertices Using QEFs n Let where c is a point we want

Placement of Vertices Using QEFs n Let where c is a point we want to minimize the distance to 21/32

Placement of Vertices Using QEFs n Let where c is a point we want

Placement of Vertices Using QEFs n Let where c is a point we want to minimize the distance to 22/32

Plane-Based Quadratic Error Function Compact representation (10 numbers) n Fast to combine multiple functions

Plane-Based Quadratic Error Function Compact representation (10 numbers) n Fast to combine multiple functions (addition) n Relatively easy to minimize (pseudoinverse) n n Suffers from numerical instabilities 23/32

Surface Simplification Algorithm Build QEFs for each vertex n For each edge u Compute

Surface Simplification Algorithm Build QEFs for each vertex n For each edge u Compute combined QEF and error u Insert edge into priority queue sorted by error n While poly # > target # u Collapse edge n 24/32

Surface Simplification: Edge Collapse n Place new vertex at minimizer of QEF 25/32

Surface Simplification: Edge Collapse n Place new vertex at minimizer of QEF 25/32

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of new vertex is combined QEF n 26/32

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of new vertex is combined QEF n Remove all edges touching collapsed edge from priority queue n 27/32

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of

Surface Simplification: Edge Collapse Place new vertex at minimizer of QEF n QEF of new vertex is combined QEF n Remove all edges touching collapsed edge from priority queue n Recompute QEF/error for all edges touching new vertex and insert into priority queue n 28/32

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for topology change and exclude unsafe edge collapses n Unsafe edge may become safe after another collapse n Alternatively, perform two edge collapses n 29/32

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for topology change and exclude unsafe edge collapses n Unsafe edge may become safe after another collapse n Alternatively, perform two edge collapses n unsafe edge collapses 30/32

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for

Surface Simplification: Edge Collapse Edge collapse may alter topology of surface n Test for topology change and exclude unsafe edge collapses n Unsafe edge may become safe after another collapse n Alternatively, perform two edge collapses n 31/32

Surface Simplification Extremely fast n Somewhat memory intensive u Limits maximum surface size n

Surface Simplification Extremely fast n Somewhat memory intensive u Limits maximum surface size n Greedy algorithm u Does not guarantee optimal sequence of edge collapses!!! n 32/32