1 Dr. Scott Schaefer Surface Simplification. 2/32 Surface Simplification Given a closed polygon model, reduce the number of polygons and maintain appearance.

Slides:



Advertisements
Similar presentations
Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Advertisements

 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
CSC 2300 Data Structures & Algorithms April 13, 2007 Chapter 9. Graph Algorithms.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 7: Quadric Error Metrics Ravi Ramamoorthi
Discrete geometry Lecture 2 1 © Alexander & Michael Bronstein
5/1/2000Deepak Bandyopadhyay / UNC Chapel Hill 1 Extended Quadric Error Functions for Surface Simplification Deepak Bandyopadhyay COMP 258 F2000 Project.
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.
1 Processing & Analysis of Geometric Shapes Shortest path problems Shortest path problems The discrete way © Alexander & Michael Bronstein, ©
11-1 Space Figures and Cross Sections
By Dor Lahav. Overview Straight Skeletons Convex Polygons Constrained Voronoi diagrams and Delauney triangulations.
1 Numerical geometry of non-rigid shapes A journey to non-rigid world objects Numerical methods non-rigid Alexander Bronstein Michael Bronstein Numerical.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
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.
Geometric Probing with Light Beacons on Multiple Mobile Robots Sarah Bergbreiter CS287 Project Presentation May 1, 2002.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
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.
1 Numerical geometry of non-rigid shapes Shortest path problems Shortest path problems Lecture 2 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
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
Geometry 10-1 Solids Face: the flat side of a figure
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Triangular Mesh Decimation
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
12.1 Solid Figures. Today we will… Name Solid Shapes.
7.1 Three- Dimensional Figures I can classify and draw three-dimensional figures.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
1 Dr. Scott Schaefer Intersecting Simple Surfaces.
Soham Uday Mehta. Linear Programming in 3 variables.
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
Three- Dimensional Figures #37. A polyhedron is a three-dimensional object with flat surfaces, called faces, that are polygons. When two faces of a three-dimensional.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
9 of 18 Introduction to medial axis transforms and their computation Outline DefinitionsMAS PropertiesMAS CAD modelsTJC The challenges for computingTJC.
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)
7.1 Three- Dimensional Figures I can classify and draw three-dimensional figures.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Advanced Computer Graphics (Spring 2013) Mesh representation, overview of mesh simplification Many slides courtesy Szymon Rusinkiewicz.
Solid Modeling Dr. Scott Schaefer.
Advanced Computer Graphics
CS Computer Graphics II
Intersecting Simple Surfaces
Boundary Representations and Topology
Extreme Graphical Simplification
CS 3343: Analysis of Algorithms
The Taxi Scheduling Problem
Minimum Spanning Tree.
Three –Dimensional Figures
Perform marching cubes over a sparse dual grid
CSE 417: Algorithms and Computational Complexity
Simplification of Articulated Mesh
I have 4 faces. I have 6 edges. I have 4 vertices.
Section 9.1 Day 1 Graphing Quadratic Functions
Presentation transcript:

1 Dr. Scott Schaefer Surface Simplification

2/32 Surface Simplification Given a closed polygon model, reduce the number of polygons and maintain appearance of the shape 5804 tris2500 tris1000 tris500 tris

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

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

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

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

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

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

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

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

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

12/32 Combining QEFS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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