Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Similar documents
CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

Appearance Preservation

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Decimation. Mark Pauly

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Mesh Decimation Using VTK

Surface Simplification Using Quadric Error Metrics

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

A Short Survey of Mesh Simplification Algorithms

Geometric Modeling and Processing

Surface Simplification Using Quadric Error Metrics

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Simplification. Stolen from various places

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Deformation Sensitive Decimation

A Comparison of Mesh Simplification Algorithms

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

All the Polygons You Can Eat. Doug Rogers Developer Relations

Semiautomatic Simplification

Multiresolution structures for interactive visualization of very large 3D datasets

EECS 487: Interactive Computer Graphics

Geometric Features for Non-photorealistiic Rendering

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe

Mesh and Mesh Simplification

CSE 554 Lecture 6: Fairing and Simplification

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification

Progressive Mesh. Reddy Sambavaram Insomniac Games

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis

Processing 3D Surface Data

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Simplification of Meshes into Curved PN Triangles

Simple Silhouettes for Complex Surfaces

Rafael Jose Falcon Lins. Submitted in partial fulfillment of the requirements for the degree of Master of Computer Science

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

Adjacency Data Structures

Isotopic Approximation within a Tolerance Volume

Processing 3D Surface Data

Level Set Extraction from Gridded 2D and 3D Data

Geometric Representations. Stelian Coros

Fast and accurate Hausdorff distance calculation between meshes

View-dependent Polygonal Simplification

A Survey of Polygonal Simplification Algorithms UNC Technical Report TR97-045

Research Article Quadratic Error Metric Mesh Simplification Algorithm Based on Discrete Curvature

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

No.5 An Algorithm for LOD by Merging Near Coplanar Faces 451 The approaches mentioned above mainly make passes by calculating repeatedly the geometric

INSTANCE-AWARE SIMPLIFICATION OF 3D POLYGONAL MESHES

CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification

Out-of-Core Simplification with Guaranteed Error Tolerance

Half-edge Collapse Simplification Algorithm Based on Angle Feature

Fast Stellar Mesh Simplification

Advanced Computer Graphics

View-Dependent Selective Refinement for Fast Rendering

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Subdivision overview

Polygonal Meshes. 3D Object Representations. 3D Object Representations. 3D Polygonal Mesh. 3D Polygonal Mesh. Geometry background

Appearance-Preserving Simplification

Processing 3D Surface Data

Geometric Modeling in Graphics

1 A REVIEW ON LEVEL OF DETAIL

Multiresolution Meshes. COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc.

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Polygonal Simplification: An Overview

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

Multiresolution Decimation based on Global Error

Mesh Simplification Method Using Principal Curvatures and Directions

Generating 3D Meshes from Range Data

Digital Geometry Processing. Computer Graphics CMU /15-662

MESH DECIMATION. A Major Qualifying Project Report: submitted to the Faculty. of the WORCESTER POLYTECHNIC INSTITUTE

Surface Reconstruction. Gianpaolo Palma

Meshes: Catmull-Clark Subdivision and Simplification

Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement

A Robust Procedure to Eliminate Degenerate Faces from Triangle Meshes

Physically-Based Modeling and Animation. University of Missouri at Columbia

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

A Real-time System of Crowd Rendering: Parallel LOD and Texture-Preserving Approach on GPU

Interpolating and Approximating Implicit Surfaces from Polygon Soup

LOD and Occlusion Christian Miller CS Fall 2011

Generalized View-Dependent Simplification

Matching and Recognition in 3D. Based on slides by Tom Funkhouser and Misha Kazhdan

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Error measurements and parameters choice in the GNG3D model for mesh simplification

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Direct Rendering. Direct Rendering Goals

04 - Normal Estimation, Curves

Curves and Surfaces 2

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

User Guide. Melody 1.2 Normal Map Creation & Multiple LOD Generation

In Proceedings of ACM Symposium on Virtual Reality Software and Technology, pp , July 1996.

Implicit Surfaces & Solid Representations COS 426

Progressive Gap Closing for Mesh Repairing

Overview. Spectral Processing of Point- Sampled Geometry. Introduction. Introduction. Fourier Transform. Fourier Transform

Simplifying Surfaces with Color and Texture using Quadric Error Metrics

Simplification and Streaming of GIS Terrain for Web Client

Transcription:

Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization Store and draw simpler version for distant objects Simulation proxies Store and process simpler version for approximate solutions first, and then refine details for hits Mesh Simplification Goals Reduce number of polygons Less storage Faster rendering Simpler manipulation Desirable properties Generality, efficiency, scalability Produces good approximation Geometric Visual Stanford Graphics Lab Mesh Simplification Overview Some algorithms Vertex clustering Mesh retiling Mesh optimization Mesh decimation Considerations Speed of algorithm Quality of approximation Generality (types of meshes) Topology modifications Control of approximation quality Continuous LOD Smooth transitions Vertex Clustering Partition vertices into clusters and replace all vertices in each cluster by one representative 10,108 polys 1,383 polys 474 polys 46 polys Rossignac 1

Vertex Clustering Example algorithm [Rossignac93]: 1. Build grid containing vertices. Merge vertices in same grid cell a. Select new position for representative vertex b. Collapse degenerate edges and faces Mesh Re-Tiling Resample mesh with uniformly spaced vertices Comments: Fast Collapses topology Low quality Hard to control Rossignac Turk Mesh Re-Tiling Example algorithm [Turk9]: Generate random points on surface Use diffusion/repulsion to spread them uniformly Tessellate vertices (many details here) Mesh Optimization Apply optimization procedure to minimize an objective function E(K,V) E(K,V) = E dist (K,V) + E rep (K) + E spring (K,V) Comments: Slow Blurs sharp features Turk Hoppe Mesh Optimization Example algorithm [Hoppe9]: Iterate with a decreasing spring term 1. Randomly modify topology with edge collapse, edge swap, or edge split. Move vertices to minimize E(K,V) 3. Keep topological change if reduce overall objective function Mesh Optimization Initial mesh (03 vertices) Sample Points (675 vertices) Hoppe c rep =10-5 (487 vertices) c rep =10-4 (39 vertices) Hoppe

Mesh Decimation Apply iterative, greedy algorithm to gradually reduce complexity of mesh Measure error of possible decimation operations Place operations in queue according to error Perform operations in queue successively After each operation, re-evaluate error metrics Mesh Decimaion Operations General idea: Each operations simplifies model by small amount Apply many operations in succession Types of operations Vertex remove Edge collapse Vertex cluster Vertex Remove Method Remove vertex and adjacent faces Fill hole with new triangles (reduction of ) Requires manifold surface around vertex Preserves local topological structure Edge Collapse Method Merge two edge vertices to one Delete degenerate triangles Requires manifold surface around vertex Preserves local topological structure Allows smooth transition Vertex Cluster Method Merge vertices based on proximity Triangles with repeated vertices become edge or point General and robust Allows topological changes Not best quality Operation Considerations Topology considerations Attention to topology promotes better appearance Allowing non-manifolds increases robustness and ability to simplify Operation considerations Collapse-type operations allow smooth transitions Vertex remove affects smaller portion of mesh than edge collapse 3

Mesh Decimation Error Metrics Motivation Promote accurate 3D shape preservation Preserve screen-space silhouettes and pixel coverages Types Vertex-Vertex Distance Surface-Surface Distance Point-Surface Distance Vertex-Plane Distance Vertex-Vertex Distance E = max( v3-v1, v3-v ) Rossignac and Borrel 93 Luebke and Erikson 97 Vertex-Vertex Distance E = max( v3-v1, v3-v ) Rossignac and Borrel 93 Luebke and Erikson 97 Surface-Surface Distance Error is maximum distance between original and simplified surface Tolerance Volumes - Guéziec 96 Simplification Envelopes - Cohen/Varshney 96 Hausdorf Distance - Klein 96 Mapping Distance - Bajaj/Schikore 96, Cohen et al. 97 Point-Surface Distance Error is sum of squared distances from original vertices to closest point on simplified surface Hoppe et al. 9 Vertex-Plane Distance Error is based on distances from original vertices to planes of faces in simplified surface Max distance to plane Maintain set of planes for each vertex [Ronfard96] Sum of squared distances Approximated by quadric at each vertex [Garland97] 4

Quadric Error Metric Error is sum of squared distances from original vertices to planes of faces in simplified surface How compute When vertices are merged, merge sets Quadric Error Metric Sum of squared distances from vertex to planes: v Quadric Error Metric Common mathematical trick: quadratic form = symmetric matrix Q multiplied twice by a vector Using Quadric Error Metric Approximate error of edge collapses Each vertex v i has associated quadric Q i Error of collapsing v 1 and v to v is v T Q 1 v +v T Q v Quadric for new vertex v is Q =Q 1 +Q a ab Q = ac ad ab b bc bd ac bc c cd ad bd cd d v 1 v v Q 1 Q Q Q = Q + 1 Q Using Quadric Error Metric Find optimal location v after collapse: Using Quadric Error Metric Find optimal location v after collapse: 5

Quadric Error Visualization Ellipsoids: iso-error surfaces Smaller ellipsoids represent greater error for a given motion Lower error for motion parallel to surface Lower error in flat regions than at corners Elongated in cylindrical regions near ridges Quadric Error Visualization Ellipsoids: iso-error surfaces Smaller ellipsoids represent greater error for a given motion Lower error for motion parallel to surface Lower error in flat regions than at corners Elongated in cylindrical regions near ridges Quadric Error Metric Results Quadric Error Metric Results Quadric Error Metric Details Boundary preservation: add planes perpendicular to boundary edges Prevent foldovers: check for normal flipping Create virtual edges between vertices closer than some threshold t Look in Garland and Heckbert, SIGGRAPH 1997 Mesh Decimation Summary Fast (with quadric error metric) Good quality approximation Only connected meshes Allows topology modifications (if allow vertex merging) Allows control over amount of simplification Continuous LOD Smooth transitions 6