Polygonal Simplification Techniques

Slides:



Advertisements
Similar presentations
 Over-all: Very good idea to use more than one source. Good motivation (use of graphics). Good use of simplified, loosely defined -- but intuitive --
Advertisements

Surface Simplification using Quadric Error Metrics Guowei Wu.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
Discrete Geometry Tutorial 2 1
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.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Mesh Simplification Global and Local Methods:
1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
Offset of curves. Alina Shaikhet (CS, Technion)
Polygonal Mesh – Data Structure and Smoothing
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Visibility-Guided Simplification Eugene Zhang and Greg Turk GVU Center, College of Computing Georgia Institute of Technology.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
3D Model Simplification (GATE-540)
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.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
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.
On-line Space Sculpturing for 3D Shape Manipulation
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe Microsoft Research Some slides taken from Hugues Hoppe.
10/02/2001CS 638, Fall 2001 Today Level of Detail Overview Decimation Algorithms LOD Switching.
DPL10/16/2015 CS 551/651: Simplification Continued David Luebke
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
Levels of Detail COMP 770 3/25/09. Problem Models can be very detailed Look great when close up Last week we explored one way of attacking this problem.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Simplifying Surfaces with Color and Texture using Quadric Error Metrics Michael Garland Paul S. Heckbert Carnegie Mellon University October 1998 Michael.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 8 Ravi Ramamoorthi
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 7 Ravi Ramamoorthi
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert August 1997 Michael Garland Paul S. Heckbert August 1997.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Solid Modeling 2002 A Multi-resolution Topological Representation for Non-manifold Meshes Leila De Floriani, Paola Magillo, Enrico Puppo, Davide Sobrero.
ALGORITHMS FOR POLYGON REDUCTION Author: Ing. Roman Schulz FIT VUT, 2008.
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)
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 10, 2015 TRIANGLE MESHES 3D MESHES MESH OPERATIONS.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
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.
Bigyan Ankur Mukherjee University of Utah. Given a set of Points P sampled from a surface Σ,  Find a Surface Σ * that “approximates” Σ  Σ * is generally.

Advanced Computer Graphics
CS Computer Graphics II
CS475 3D Game Development Level Of Detail Nodes (LOD)
Domain-Modeling Techniques
Chap 10. Geometric Level of Detail
Presentation transcript:

Polygonal Simplification Techniques Class Presentation Computational Geometry Comp 290

The Triangle Mesh In Computer Graphics, we routinely represent models a polygonal meshes Any surface can be approximated by a triangle mesh We will assume we have a mesh of triangles that we want to either simplify, producing one LOD simplify, producing a succession of LOD’s

Why Simplify the Mesh Fewer triangles -- faster rendering speed Small detail may not be visible anyway Some model acquisition techniques produce models of uniform tesselation. Areas of low curvature don’t need to be as highly tesselated, so simplification may not reduce the quality of the model by much Smaller mesh uses less storage space

Pictures of LOD’s

Level Of Detail (LOD) Can simplify the same object by varying amounts, producing LOD’s Rendering algorithm can intelligently choose LOD in order to obtain: Obtain constant frame rate, or Best frame rate that guarantees a certain screen space error between image rendered with LOD and image rendered with full model

Progressive Mesh Hugues Hoppe in Siggraph 1996 Defines a continuous sequence of meshes M0, M1, …, Mn of increasing accuracy Representation of a model M = Mn: a base mesh M0 n detail records telling how to incrementally refine M0 exactly back to the original mesh Mn geomorphs can be efficiently constructed between any two meshes Mi and Mj Progressive Transmission Progressive transmission

Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References

Competing Goals Computational Efficiency Storage Efficiency Quality Error metrics screen space v.s. model space geometry and attributes Global v.s. local optimization local may be faster global may simplify more which gives a better appearance?

Some Design Parameters manifold v.s. non-manifold T-junctions and cracks topology preservation important in some areas if topology is allowed to change, then we can: close holes in objects join disconnected components when rendering, shape and attribute appearance are more important than topology

Attributes Color Normal Vectors Texture Coordinates Curvature Material Properties

Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References

Vertex Clustering Rossignac and Borrel, 1993 Can handle arbitrary polygonal input Place a bounding box around original model and divide into a grid For each cell, all the vertices in the cell are clustered together into a single vertex Update model faces

Vertex Clustering Rossignac and Borrel, 1993 Can be very fast Often poor quality Difficult to construct an approximation with a specific face count Grid position and orientation matter Luebke and Erikson, 1997, generalized to use an octree (adaptive grid structure)

Vertex Decimation Schroeder et al., 1992 Loop until done For each vertex, measure its distance to the “average plane” of it’s neighbors Remove all vertices for which this distance is below some threshold triangulate the resulting holes adjust value of threshold parameter if necessary

Vertex Decimation Decimation Criterion Average Plane Distance to plane

Edge Contraction Collapse an edge into a vertex Used by many simplification algorithms Two vertices at the endpoints of the edge get merged into one The two faces incident to the edge each contract into an edge Only affects local neighborhood

Edge Contraction Contract Before After

Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References

Error Bounds Given two polygonal meshes P and Q P and Q are -approximations of each other iff every point on P is within  of some point of Q, and every point on Q is within  of some point of P definition from Cohen et al., 1996 Given a viewing point and distance, error bounds let us choose the simplest LOD that guarantees a given screen space error

Error Bounds Min-# Approximations Min-  Approximations given , minimize the number of vertices Min-  Approximations given a number of vertices, minimize  computing minimal-facet -approximation is NP-hard for convex polytopes we will look at a few polynomial time approximation algorithms

Simplification Envelopes Cohen, Varshney et al. Define a outer and an inner simplification envelope Iteratively simplify the model such that the simplified model remains between the two envelopes Can preserve sharp edges and boarders Can set  adaptively across the model

Simplification Envelopes Offset Surface Given a parametric surface f(s,t) = (f1(s,t), f2(s,t), f3(s,t)), with unit normal n(s,t) = (n1(s,t), n2(s,t), n3(s,t)) -offset surface is defined as f (s,t) = (f i(s,t), f i(s,t), f i(s,t)), where f (s,t) = fi(s,t) + ni(s,t)

Simplification Envelopes A fundamental triangle is a triangle of the original mesh It’s fundamental prisim is the volume between the corresponding triangles on the inner and outer envelopes The sides of the prisim are bilinear patches

Simplification Envelopes Offset Surface May self-intersect Self-intersections occur when an offset vertex lies in the Voronoi region of an adjacent fundamental triangle Voronoi edge  b Originalsurface c+ b+ c Offset surface

Simplification Envelopes Simplification envelope is a polygonal surface that lies within  from every point p on I in the same (or opposite) direction as the normal at p Outer envelope is in the direction of the normal, inner envelope in opposite direction Reduce  where necessary to avoid self-intersections

Simplification Envelopes Start with input surface Iteratively modify hole creation: remove a connected set of triangles from the mesh hole filling: fill the hole with a smaller number of triangles Holes must be filled with triangles that lie between the two envelopes

Decimation via Pair Contraction Garland and Heckbert, 1997 Edge contraction generalized to pair contraction between arbitrary vertices (v1,v2)  v’ merges v1 and v2 into one vertex v’ connects incident edges remove edges or faces that have become degenerate Local control--only affects neighborhood

Decimation via Pair Contraction Pair Contraction can alter topology fill holes connect previously disconnected components Handles non-manifold surfaces Error is approximated with quadrics Not sure what this means geometrically; I can’t gain intuition from the math Used to maintain a cost function characterization of error at each vertex

Decimation via Pair Contraction Algorithm Select all valid pairs Initialize cost function Select valid pairs (v1,v2) of vertices st. (v1,v2) is an edge, or |v1,v2| < t, where t is a threshold parameter Compute cost of contracting each valid pair Place pairs in a heap sorted by cost ...

Decimation via Pair Contraction Algorithm continued ... Iteratively remove from heap pair (v1,v2) of least cost contract (v1,v2) update cost of all pairs involving the vertices Produces a progressive mesh

Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References

Successive Mapping Cohen et al., 1997 This algorithm is really cool! Uses lots of ideas from computational geometry Gives tight error bounds on geometry Defines a piece-wise linear mapping between original surface and simplified surface Can produce a progressive mesh Algorithm tracks error both from original surface and from previous level of detail

Successive Mapping High-level Algorithm Generic greedy algorithm Measure cost of all possible edge collapses Loop until no edged can be collapsed collapse edge with least cost (locally) re-compute cost of affected edges Output original model ordered list of edge collapses and assoc. cost

Successive Mapping Naïve Approach Use natural mapping (picture from Cohen et al.,1997) Does not map from simplified surface back onto original surface Error may be larger than necessary

Successive Mapping planar projection Cohen performs mapping using a planar projection of the local neighborhood called successive mappings Find a valid direction of projection that is one-to-one Re-triangulate in this plane Guaranteed no self-intersections if mapping is one-to-one

Successive Mapping validity test of planar projection Check angle between projection direction and normal of triangles in the neighborhood direction of projection bad normal If this angle is greater than 90o for any triangle, then the direction is invalid Fast: only a single dot product and a sign test for each triangle

Successive Mapping finding valid projection Gaussian sphere unit sphere where each point corresponds to a unit normal vector with same coordinates For each triangle, define a plane through the origin with the same normal as the triangle A projection direction if valid w.r.t. a triangle iff it its point on the Gaussian sphere lies on the correct side of this plane There is a half-space of valid directions

Successive Mapping finding valid projection For a direction to be valid w.r.t. all the triangles, it must lie in the intersection of the triangles’ half-planes The intersection is a convex polyhedron--a cone with an unbounded base

Successive Mapping finding valid projection Bound the last face by adding 6 more half-spaces--the faces of a cube containing the origin Construct a valid projection direction by finding a point inside the intersection and normalizing it’s length Use linear programming

Successive Mapping placing new vertex Topology of mesh after edge collapse is determined, but we get to choose where to place the edge Orthographically project into a plane in the projection direction the neighborhood of the edge to be collapsed A valid position for the vertex is one that causes no edge crossings

Successive Mapping placing new vertex from Cohen et al., 1997

Successive Mapping placing new vertex The projection of the edge neighborhood into the plane is a star-shaped polygon The kernel of this polygon is the set of valid positions for the new vertex Use linear programming to find a valid vertex position Cohen presents a linear time algorithm to: test a candidate vertex position for validity, and find a valid vertex position, if one exists

Edge Contraction reminder Before After

Successive Mapping create a mapping in the plane

Successive Mapping find 3D vertex position We now have a piecewise linear mapping from the two local neighborhoods This mapping will serve as a mapping between the two successive meshes if we project each point back to the surface in the direction of projection The 3D position of the new vertex must lie on the line parallel to the direction of projection and passing through the its 2D position in the plane Finding its position is all we have left to do

Successive Mapping optimize 3D vertex position Because the triangles are planar, the maximum distance between any two must be at the boundary For these triangles, it must actually be at a vertex The distance between respective border vertex positions is zero--they didn’t move Parameterize the position of the new vertex along the line by the single parameter t as t varies, the distance from an interior vertex to it’s mapped position on the other surface varies linearly optimize t to minimize the maximum distance

Successive Mapping bounding the error to original surface Maintain a region that bounds the error between each LOD and the original surface Incrementally update the bounding regions in the local neighborhood of each edge collapse operation The portion of the original surface corresponding to a given triangle lies within the convolution of the triangle and the bounding volume

Appearance-Preserving Simplification Cohen et al., 1998 This algorithm is even more cool! Improves on Successive Mapping algorithm Projects into texture space instead of arbitrary plane Handles texture coordinates, normals, and other attributes gracefully, providing error bounds Decoupled representation

Appearance-Preserving Simplification Can create not only texture maps, but also maps for other scalar fields maps for vector fields, e.g., like normal maps This algorithm decouples the normal field from the geometry defines a texture deviation metric to guarantee bounds on texture coordinate deviation total error metric - combines both geometric and texture error metrics

Appearance-Preserving Simplification Algorithm similar to Successive Mapping, but instead of projecting into a plane, project into texture space Extra bookkeeping to track texture error Normal mapping lets the simplified model use the normals from the original triangles

Multiresolution Analysis Elegant theoretical approach using wavelets Quite a few papers using this approach Store a base mesh along with the wavelet coefficients Applications include: compression as well as simplification progressive display and transmission LOD control multiresolution editing

Outline Triangle Mesh LOD’s Progressive Mesh Competing Goals Design Parameters Attributes Vertex Clustering Vertex Decimation Edge Contraction Error Bounds Simplification Envelopes Pair Contraction Successive Mapping Appearance Preserving Simplification Multi Resolution Analysis (wavelets) Conclusion References

Conclusion Many types of simplification algorithms guarantee different things running times vary What’s the right one for me? depends on the application

References Cohen, Varshney, Manocha, Turk, Weber, Agarwal, Brooks, and Wright, Simplification Envelopes, Siggraph’96 Cohen, Manocha and Olano, Appearance-Preserving Simplification, Siggraph’98 Garland and Heckbert, Surface Simplification Using Quadric Error Metrics, Siggraph’97 Hoppe, Progressive Meshes, Siggraph96 Schroeder, Zarge and Lorensen, Decimation of Triangle Meshes, Computer Graphic July 1992 Turk, Re-Tiling Polygonal Surfaces, Computer Graphics July 1992 For a starting point to find papers on Multiresolution Analysis Eck et al., Multiresolution Analysis of Arbitrary Meshes, Siggraph’95