Mesh and Mesh Simplification

Size: px
Start display at page:

Download "Mesh and Mesh Simplification"

Transcription

1 Slide Credit: Mirela Ben-Chen Mesh and Mesh Simplification Qixing Huang Mar. 21 st 2018

2 Mesh DataStructures

3 Data Structures What should bestored? Geometry: 3D coordinates Attributes e.g. normal, color, texture coordinate Per vertex, per face, per edge Connectivity Adjacency relationships

4 Data Structures What should itsupport? Rendering Geometry queries What are the vertices offace #2? Is vertex A adjacent to vertex H? Which faces are adjacent toface #1? Modifications Remove/add a vertex/face Vertex split, edge collapse

5 Data Structures How good is adata structure? Time to construct (preprocessing) Time to answer aquery Time to perform an operation Space complexity Redundancy

6 Mesh DataStructures Face Set Shared Vertex HalfEdge Face Based Connectivity Edge Based Connectivity AdjacencyMatrix Corner Table

7 FaceSet TRIANGLES Vertex coord. Vertex coord. Vertex coord. Simple STL File No connectivity Redundancy [ ] [ ] [10 4 3]...

8 SharedVertex TRIANGLES Vertex Index Vertex Index Vertex Index Connectivity No neighborhood... VERTICES Vertex Coord. [ ] [ ] [10 4 3]...

9 SharedVertex v 3 v 6 f 1 f 2 f 4 v 1 v 4 TRIANGLES f v 1 f 3. v 2 v 5.. v 2 v 3 VERTICES [20 100] [19 200] [14 150]...

10 SharedVertex v 3 v 6 f 1 f 2 f 4 v 1 v 4 TRIANGLES f v 1 f 3. v 2 v 5.. v 2 v 3 VERTICES [20 100] [19 200] [14 150]... What are the vertices of facef 1? O(1) first triplet from face list

11 SharedVertex v 3 v 6 f 1 f 2 f 4 v 1 v 4 TRIANGLES f v 1 f 3. v 2 v 5.. v 2 v 3 VERTICES [20 100] [19 200] [14 150]... Are vertices v 1 and v 5 adjacent? Requires a full pass over allfaces

12 Half Edge DataStructure Vertex stores Position 1 outgoinghalfedge vertex outgoing halfedge

13 Half Edge DataStructure Halfedge stores 1 origin vertexindex 1 incident faceindex next, prev, twin halfedge indices halfedge twin origin vertex next

14 Half Edge DataStructure Face stores 1 adjacent halfedge index adjacenthalfedge face

15 Half Edge DataStructure Neighborhood Traversal a) b) c) d)

16 Face BasedConnectivity Vertex: position 1 adjacent face index Face: 3 vertex indices 3 neighboring face indices No (explicit) edgeinformation

17 Edge BasedConnectivity Vertex position 1 adjacent edgeindex Edge 2 vertex indices 2 neighboring face indices 4 edges Face 1 edgeindex No edge orientationinformation

18 AdjacencyMatrix v 3 v 6 f 1 f 2 f 4 v 1 v 4 A= f 3 v 2 v 5 v 1 v 2 v 3 v 4 v 5 v 6 v v v v v v Adjacency Matrix A If there is an edge between v i & v j then A ij = 1

19 AdjacencyMatrix Symmetric for undirected simple graphs (A n ) ij = # paths of length n from v i to v j Pros: Cons: Can represent non manifoldmeshes No connection between a vertex and its adjacent faces

20 CornerTable Corner is a vertexwith one of its indicent triangles v 3 c3 c 9 c 4 f 3 c7 c12 v 6 v 1 c f 1 1 f 2 c 6 c f 10 4 v 4 c 2 c 5 c 11 v 2 c 8 v 5

21 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c c c 3 c 4 9 f 3 c 7 c12 c 1 f c 1 8 v f 2 f 1 c 6 c 10 4 v 4 c 2 c 5 c 11 v 2 v 5

22 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c 9 c 3 Triangle c.t c 4 f 3 c c 7 c12 c 1 f c 1 8 v f 2 f 1 c 6 c 10 4 v 4 c 2 c 5 c 11 v 2 v 5

23 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v c c 3 c 4 9 f c 1 8 v c f 2 f 1 1 c 6 c 10 4 v 4 f 3 c 7 c12 c 2 c 5 c 11 v 2 v 5

24 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n f c 1 f 8 v c f c 6 c 10 4 v 4 c c 3 c 4 9 f 3 c 7 c12 c 2 c 5 c 11 v 2 v 5

25 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n Previous corner c.p (== c.n.n) c c 3c 4 9 f c 1 8 v c f 2 f 1 1 c 6 c 10 4 v 4 c 2 c 5 f 3 c 7 c12 c 11 v 2 v 5

26 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n Previous corner c.p (== c.n.n) Corner opposite c c.o Edge E opposite c not incident on c.v Triangle T adjacent to c.t acrosse c.o.v vertex of T that is not incident one c c 3 c 4 9 f c 1 v c E 8 T f 1 1 c 6 c 10 4 v 4 c 2 c 5 f 3 c 7 c12 c 11 v 2 v 5

27 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n Previous corner c.p (== c.n.n) Corner opposite c c.o c c 3 c 4 9 f c 1 8 v c f 2 f 1 1 c 6 c 10 4 v 4 c 2 c 5 f 3 c 7 c12 Edge E opposite c not incident on c.v Triangle T adjacent to c.t acrosse v 5 v c.o.v vertex of T that is not incident one 2 Rightcorner c.r corner oppositec.n(==c.n.o) c 11

28 CornerTable Corner is a vertexwith one of its indicent triangles v v 6 3 Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n Previous corner c.p (== c.n.n) Corner opposite c c.o c c 3 c 4 9 f c 1 8 v c f 2 f 1 1 c 6 c 10 4 v 4 c 2 c 5 f 3 c 7 c12 Edge E opposite c not incident on c.v Triangle T adjacent to c.t acrosse v 5 v c.o.v vertex of T that is not incident one 2 Rightcorner c.r corner oppositec.n(==c.n.o) Left corner c.l (== c.p.o== c.n.n.o) c 11

29 CornerTable Corner is a vertexwith one of its indicent triangles Corner c Triangle c.t Vertex c.v Next corner in c.t (ccw) c.n Previous corner c.p (== c.n.n) Corner opposite c c.o Edge E opposite c not incident on c.v Triangle T adjacent to c.t acrosse c.o.v vertex of T that is not incident on E Rightcorner c.r corneroppositec.n(==c.n.o) Left corner c.l (== c.p.o== c.n.n.o)

30 CornerTable Corner is a vertexwith one of its indicent triangles v 3 c 3 c 9 v 6 c7 c12 corner c.v c.t c.n c.p c.o c.r c.l c 4 f 3 c 1 v 1 f 1 c 2 c 3 c 6 c 2 v 2 f 1 c 3 c 1 c 6 f 1 v c f 2 f 1 1 c 6 c 10 4 v 4 c 2 c 5 c 11 c 8 v 2 v 5 c 3 v 3 f 1 c 1 c 2 c 6 c 4 v 3 f 2 c 5 c 6 c 7 c 1 c 5 v 2 f 2 c 6 c 4 c 7 c 1 c 6 v 4 f 2 c 4 c 5 c 1 c 7

31 CornerTable Store: Corner table For each vertex a list of all its corners Corner numberj*3 2, j*3 1 and j*3 match face number j

32 CornerTable What are the vertices offace #3? Check c.v of corners 9, 8,7 v 3 c3 c 9 c 4 f 3 c7 c12 v 6 f 1 v c f c 6 c 10 v 2 c 8 v 4 f 4 c 2 c 5 c 11 v 5

33 CornerTable Are vertices 2 and 6adjacent? Scan all corners of vertex 2, check if c.p.v or c.n.v are 6 v 3 c3 c 9 c 4 f 3 c7 c12 v 6 f 1 v c f c 6 c 10 v 2 c 8 v 4 f 4 c 2 c 5 c 11 v 5

34 CornerTable Which faces are adjacent to vertex3? Check c.t of all corners ofvertex 3 v 3 c 3 c 9 c7 c12 v 6 c 4 f 3 f 1 v c f c 6 c 10 v 2 c 8 v 4 f 4 c 2 c 5 c 11 v 5

35 CornerTable One ring neighbors of vertexv 4? Get the corners c 6 c 8 c 10 of thisvertex Go to c i.n.v and c i.p.v for i = 6, 8, 10. Remove duplicates v 3 c 3 c 9 c7 c12 v 6 c 4 f 3 c 1 f 1 v f 2 f 1 c 6 c 10 4 v 4 c 8 c 2 c 5 c 11 v 2 v 5

36 CornerTable Pros: All queries in O(1)time Most operations areo(1) Convenient for rendering Cons: Only triangular, manifold meshes Redundancy

37 Multiple Simplification

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

39 Applications Overtessellation: E.g. iso-surface extraction

40 Applications Multi-resolution hierarchies for efficient geometry processing level-of-detail (LOD) rendering

41 Applications Adaptation to hardware capabilities

42 Size-Quality Tradeoff error size

43 Problem Statement Given: M = (V,F) Find: M = (V,F ) such that V = n < V and d(m,m ) is minimal, or d(m,m ) < eps and V is minimal Respect additional fairness criteria Normal deviation, triangle shape, scalar attributes, etc.

44 Mesh Decimation Methods Vertex clustering Incremental decimation Remeshing

45 Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes

46 Vertex Clustering Cluster Generation Uniform 3D grid Map vertices to cluster cells Computing a representative Mesh generation Topology changes

47 Vertex Clustering Cluster Generation Hierarchical approach Top-down or bottom-up Computing a representative Mesh generation Topology changes

48 Vertex Clustering Cluster Generation Computing a representative Average/median vertex position Error quadrics Mesh generation Topology changes

49 Computing a Representative Average vertex position

50 Computing a Representative Median vertex position

51 Computing a Representative Error quadrics

52 Error Quadrics Patch is expected to be piecewise flat Minimize distance to neighboring triangles planes

53 Error Quadrics Squared distance of point p to plane q

54 Error Quadrics Sum distances to planes q i of vertex neighboring triangles Point p* that minimizes the error satisfies:

55 Comparison

56 Vertex Clustering Cluster Generation Computing a representative Mesh generation Clusters p<-> {p 0,, p n }, q<-> {q 0,, q m } Topology changes

57 Vertex Clustering Cluster Generation Computing a representative Mesh generation Clusters p<-> {p 0,, p n }, q<-> {q 0,, q m } Connect (p,q) if there was an edge (p i, q i ) Topology changes

58 Vertex Clustering Cluster Generation Computing a representative Mesh generation Topology changes If different sheets pass through one cell Can be non-manifold

59 Incremental Decimation

60 Incremental Decimation

61 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria

62 General Setup Repeat: Pick mesh region Apply decimation operator Until no further reduction possible

63 Greedy Optimization For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue apply decimation operator update queue Until no further reduction possible

64 Global Error Control For each region evaluate quality after decimation enqeue(quality, region) Repeat: get best mesh region from queue If error < eps Apply decimation operator Update queue Until no further reduction possible

65 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria

66 Decimation Operators What is a region? What are the DOF for re-triangulation? Classification Topology-changing vs. topology-preserving Subsampling vs. filtering Inverse operation -> progressive meshes [Hoppe et al.]

67 Vertex Removal Select a vertex to be eliminated

68 Vertex Removal Select all triangles sharing this vertex

69 Vertex Removal Remove the selected triangles, creating the hole

70 Vertex Removal Fill the hole with new triangles

71 Decimation Operators Remove vertex Re-triangulate hole Combinatorial degrees of freedom

72 Decimation Operators Merge two adjacent vertices Define new vertex position Continuous degrees of freedom

73 Decimation Operators Collapse edge into one end point Special case of vertex removal Special case of edge collapse No degrees of freedom

74 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

75 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

76 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria

77 Local Error Metrics Local distance to mesh Compute average plane No comparison to original geometry

78 Global Error Metrics Error quadrics Squared distance to planes at vertex No bound on true error

79 Incremental Decimation General Setup Decimation operators Error metrics Fairness criteria

80 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

81 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

82 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

83 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

84 Fairness Criteria Rate quality of decimation operation Approximation error Triangle shape Dihedral angles Valence balance

85 Comparison Vertex clustering fast, but difficult to control simplified mesh Topology changes, non-manifold meshes Global error bound, but often not close to optimum Incremental decimation with quadratic error metrics good trade-off between mesh quality and speed explicit control over mesh topology restricting normal deviation improves mesh quality

86 Remeshing

87 Remeshing Given a 3D mesh, find a better discrete representation of the underlying surface

88 What is a good mesh? Equal edge lengths Equilateral triangles Valence close to 6

89 What is a good mesh? Equal edge lengths Equilateral triangles Valence close to 6 Uniform vs. adaptive sampling

90 What is a good mesh? Equal edge lengths Equilateral triangles Valence close to 6 Uniform vs. adaptive sampling Feature preservation

91 What is a good mesh? Equal edge lengths Equilateral triangles Valence close to 6 Uniform vs. adaptive sampling Feature preservation Alignment to curvature lines Isotropic vs. anisotropic

92 What is a good mesh? Equal edge lengths Equilateral triangles Valence close to 6 Uniform vs. adaptive sampling Feature preservation Alignment to curvature lines Isotropic vs. anisotropic Triangles vs. quadranges

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

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles Mesh Simplification Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient

More information

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

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Copyright 2010 Gotsman, Pauly Page 1 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies

More information

Geometry: 3D coordinates Attributes. e.g. normal, color, texture coordinate. Connectivity

Geometry: 3D coordinates Attributes. e.g. normal, color, texture coordinate. Connectivity Mesh Data Structures res Data Structures What should be stored? Geometry: 3D coordinates Attributes eg normal, color, texture coordinate Per vertex, per face, per edge Connectivity Adjacency relationships

More information

Mesh Decimation. Mark Pauly

Mesh Decimation. Mark Pauly Mesh Decimation Mark Pauly Applications Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280 Applications Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich

More information

Mesh Basics: Definitions, Topology & Data Structures. Standard Graph Definitions

Mesh Basics: Definitions, Topology & Data Structures. Standard Graph Definitions Mesh : Definitions, Topology & Data Structures 1 Standard Graph Definitions G = V = vertices = {A,B,C,D,E,F,G,H,I,J,K,L} E = edges = {(A,B),(B,C),(C,D),(D,E),(E,F),(F,G), (G,H),(H,A),(A,J),(A,G),(B,J),(K,F),

More information

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Repairing and Simplification. Gianpaolo Palma Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a

More information

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

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein) CGAL Mesh Simplification (Slides from Tom Funkhouser, Adam Finkelstein) Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749 In a nutshell Problem: Meshes have too many polygons for storage, rendering,

More information

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

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

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

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization

More information

Surface reconstruction Introduction. Florent Lafarge Inria Sophia Antipolis - Mediterranee

Surface reconstruction Introduction. Florent Lafarge Inria Sophia Antipolis - Mediterranee Surface reconstruction Introduction Florent Lafarge Inria Sophia Antipolis - Mediterranee Outline Contents Introduction Smooth/piecewise-smooth reconstruction methods Primitive-based reconstruction methods

More information

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

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters

More information

Surface Simplification Using Quadric Error Metrics

Surface Simplification Using Quadric Error Metrics Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by

More information

Appearance Preservation

Appearance Preservation CS 283 Advanced Computer Graphics Mesh Simplification James F. O Brien Professor U.C. Berkeley Based on slides by Ravi Ramamoorthi 1 Appearance Preservation Caltech & Stanford Graphics Labs and Jonathan

More information

Digital Geometry Processing. Computer Graphics CMU /15-662

Digital Geometry Processing. Computer Graphics CMU /15-662 Digital Geometry Processing Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans, not fins

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

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

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo Surface Simplification Motivation Basic Idea of LOD Discrete LOD Continuous LOD Simplification Problem Characteristics

More information

Mesh Decimation Using VTK

Mesh Decimation Using VTK Mesh Decimation Using VTK Michael Knapp knapp@cg.tuwien.ac.at Institute of Computer Graphics and Algorithms Vienna University of Technology Abstract This paper describes general mesh decimation methods

More information

CSE 554 Lecture 6: Fairing and Simplification

CSE 554 Lecture 6: Fairing and Simplification CSE 554 Lecture 6: Fairing and Simplification Fall 2012 CSE554 Fairing and simplification Slide 1 Review Iso-contours in grayscale images and volumes Piece-wise linear representations Polylines (2D) and

More information

Adjacency Data Structures

Adjacency Data Structures Last Time? Simple Transformations Adjacency Data Structures material from Justin Legakis Classes of Transformations Representation homogeneous coordinates Composition not commutative Orthographic & Perspective

More information

CS 532: 3D Computer Vision 12 th Set of Notes

CS 532: 3D Computer Vision 12 th Set of Notes 1 CS 532: 3D Computer Vision 12 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Meshes Slides

More information

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

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis Overview Efficient Simplification of Pointsampled Surfaces Introduction Local surface analysis Simplification methods Error measurement Comparison PointBased Computer Graphics Mark Pauly PointBased Computer

More information

Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary

Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary Master s Project Tanja Munz Master of Science Computer Animation and Visual Effects 24th August, 2015 Abstract

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 17 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagram. Xiao-Ming Fu Voronoi Diagram Xiao-Ming Fu Outlines Introduction Post Office Problem Voronoi Diagram Duality: Delaunay triangulation Centroidal Voronoi tessellations (CVT) Definition Applications Algorithms Outlines

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer

More information

Parameterization with Manifolds

Parameterization with Manifolds Parameterization with Manifolds Manifold What they are Why they re difficult to use When a mesh isn t good enough Problem areas besides surface models A simple manifold Sphere, torus, plane, etc. Using

More information

A Comparison of Mesh Simplification Algorithms

A Comparison of Mesh Simplification Algorithms A Comparison of Mesh Simplification Algorithms Nicole Ortega Project Summary, Group 16 Browser Based Constructive Solid Geometry for Anatomical Models - Orthotics for cerebral palsy patients - Fusiform

More information

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse? Homework 1: Questions/Comments? Subdivision Surfaces Questions on Homework? Last Time? What s an illegal edge collapse? Curves & Surfaces Continuity Definitions 2 3 C0, G1, C1, C 1 a b 4 Interpolation

More information

Subdivision Surfaces. Homework 1: Questions/Comments?

Subdivision Surfaces. Homework 1: Questions/Comments? Subdivision Surfaces Homework 1: Questions/Comments? 1 Questions on Homework? What s an illegal edge collapse? 1 2 3 a b 4 7 To be legal, the ring of vertex neighbors must be unique (have no duplicates)!

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

Mesh Data Structures. Geometry processing. In this course. Mesh gallery. Mesh data

Mesh Data Structures. Geometry processing. In this course. Mesh gallery. Mesh data Gomtry procssing Msh Data Structurs Msh data Gomtry Connctivity Data structur slction dpnds on Msh typ Algorithm rquirmnts 2 Msh gallry In this cours Only orintabl, triangular, manifold mshs Singl componnt,

More information

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher

CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher http://alice.loria.fr/index.php/publications.html?redirect=0&paper=vsdm@2011&author=levy CS 468, Spring 2013 Differential Geometry for Computer Science Justin Solomon and Adrian Butscher µ R 3 µ R 2 http://upload.wikimedia.org/wikipedia/commons/b/bc/double_torus_illustration.png

More information

Final Project, Digital Geometry Processing

Final Project, Digital Geometry Processing Final Project, Digital Geometry Processing Shayan Hoshyari Student #: 81382153 December 2016 Introduction In this project an adaptive surface remesher has been developed based on the paper [1]. An algorithm

More information

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

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Alexander Greß and Reinhard Klein University of Bonn Institute of Computer Science II Römerstraße 164, 53117 Bonn, Germany

More information

Multiresolution structures for interactive visualization of very large 3D datasets

Multiresolution structures for interactive visualization of very large 3D datasets Multiresolution structures for interactive visualization of very large 3D datasets Doctoral Thesis (Dissertation) to be awarded the degree of Doctor rerum naturalium (Dr.rer.nat.) submitted by Federico

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

: Mesh Processing. Chapter 2

: Mesh Processing. Chapter 2 600.657: Mesh Processing Chapter 2 Data Structures Polygon/Triangle Soup Indexed Polygon/Triangle Set Winged-Edge Half-Edge Directed-Edge List of faces Polygon Soup Each face represented independently

More information

Fast Stellar Mesh Simplification

Fast Stellar Mesh Simplification Fast Stellar Mesh Simplification ANTÔNIO W. VIEIRA 1,2, LUIZ VELHO 3, HÉLIO LOPES 1, GEOVAN TAVARES 1 AND THOMAS LEWINER 1,4 1 PUC Rio Laboratório Matmídia Rio de Janeiro 2 UNIMONTES CCET Montes Claros

More information

Saab. Kyle McDonald. Polygon Meshes

Saab. Kyle McDonald. Polygon Meshes Saab Kyle McDonald Polygon Meshes Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749 What is a polygon mesh? Like a point cloud, it is a discrete sampling of a surface... but, it adds linear (flat)

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 15 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

5.2 Surface Registration

5.2 Surface Registration Spring 2018 CSCI 621: Digital Geometry Processing 5.2 Surface Registration Hao Li http://cs621.hao-li.com 1 Acknowledgement Images and Slides are courtesy of Prof. Szymon Rusinkiewicz, Princeton University

More information

Half-edge Collapse Simplification Algorithm Based on Angle Feature

Half-edge Collapse Simplification Algorithm Based on Angle Feature International Conference on Automation, Mechanical Control and Computational Engineering (AMCCE 2015) Half-edge Collapse Simplification Algorithm Based on Angle Feature 1,2 JunFeng Li, 2 YongBo Chen, 3

More information

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

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

Simplification. Stolen from various places

Simplification. Stolen from various places Simplification Stolen from various places The Problem of Detail Graphics systems are awash in model data: highly detailed CAD models high-precision surface scans surface reconstruction algorithms Available

More information

Meshes and Manifolds. Computer Graphics CMU /15-662

Meshes and Manifolds. Computer Graphics CMU /15-662 Meshes and Manifolds Computer Graphics CMU 15-462/15-662 Fractal Quiz Last time: overview of geometry Many types of geometry in nature Geometry Demand sophisticated representations Two major categories:

More information

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

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0) Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on

More information

A General Framework for Mesh Decimation

A General Framework for Mesh Decimation A General Framework for Mesh Decimation Leif Kobbelt Swen Campagna Hans-Peter Seidel Computer Sciences Department, University of Erlangen-Nürnberg Am Weichselgarten 9, 91058 Erlangen, Germany kobbelt@informatik.uni-erlangen.de

More information

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

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Alexander Greß gress@cs.uni-bonn.de Reinhard Klein rk@cs.uni-bonn.de University of Bonn Institute of Computer Science II

More information

A Short Survey of Mesh Simplification Algorithms

A Short Survey of Mesh Simplification Algorithms A Short Survey of Mesh Simplification Algorithms Jerry O. Talton III University of Illinois at Urbana-Champaign 1. INTRODUCTION The problem of approximating a given input mesh with a less complex but geometrically

More information

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

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland) Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews

More information

1 - An initial focus on smeshes

1 - An initial focus on smeshes In this chapter, we define a subclass of triangle meshes, which we call smeshes. We introduce simple data structures for representing smeshes, low-level operators for building and accessing these representations,

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC Mesh Morphing Ligang Liu Graphics&Geometric Computing Lab USTC http://staff.ustc.edu.cn/~lgliu Morphing Given two objects produce sequence of intermediate objects that gradually evolve from one object

More information

Geometric Features for Non-photorealistiic Rendering

Geometric Features for Non-photorealistiic Rendering CS348a: Computer Graphics Handout # 6 Geometric Modeling and Processing Stanford University Monday, 27 February 2017 Homework #4: Due Date: Mesh simplification and expressive rendering [95 points] Wednesday,

More information

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

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows: Handles A handle in a 3d mesh is a through hole. The number of handles can be extracted of the genus of the 3d mesh. Genus is the number of times we can cut 2k edges without disconnecting the 3d mesh.

More information

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Fathi El-Yafi Project and Software Development Manager Engineering Simulation An Introduction to Mesh Generation Algorithms Part 2 Fathi El-Yafi Project and Software Development Manager Engineering Simulation 21-25 April 2008 1 Overview Adaptive Meshing: Remeshing Decimation Optimization

More information

13 - Meshes. Acknowledgement: Enrico Puppo. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

13 - Meshes. Acknowledgement: Enrico Puppo. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 13 - Meshes Acknowledgement: Enrico Puppo What is a mesh? A surface made of polygonal faces glued at common edges Origin of Meshes In nature, meshes arise in a variety of contexts: Cells in organic tissues

More information

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

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

View-dependent Polygonal Simplification

View-dependent Polygonal Simplification View-dependent Polygonal Simplification Pekka Kuismanen HUT pkuisman@cc.hut.fi Abstract This paper describes methods for view-dependent simplification of polygonal environments. A description of a refinement

More information

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

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

More information

Convex Hulls (3D) O Rourke, Chapter 4

Convex Hulls (3D) O Rourke, Chapter 4 Convex Hulls (3D) O Rourke, Chapter 4 Outline Polyhedra Polytopes Euler Characteristic (Oriented) Mesh Representation Polyhedra Definition: A polyhedron is a solid region in 3D space whose boundary is

More information

Hierarchical Grid Conversion

Hierarchical Grid Conversion Hierarchical Grid Conversion Ali Mahdavi-Amiri, Erika Harrison, Faramarz Samavati Abstract Hierarchical grids appear in various applications in computer graphics such as subdivision and multiresolution

More information

Simplification and Streaming of GIS Terrain for Web Client

Simplification and Streaming of GIS Terrain for Web Client Simplification and Streaming of GIS Terrain for Web Client Web3D 2012 Geomod Liris : Pierre-Marie Gandoin Geomod Liris : Raphaëlle Chaine Atos Wordline : Aurélien Barbier-Accary Fabien CELLIER Université

More information

Interpolating and Approximating Implicit Surfaces from Polygon Soup

Interpolating and Approximating Implicit Surfaces from Polygon Soup Interpolating and Approimating Implicit Surfaces from Polygon Soup Chen Shen, James F. O Brien, Jonathan R. Shewchuk University of California, Berkeley Geometric Algorithms Seminar CS 468 Fall 2005 Overview

More information

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

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

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing

More information

Multi-level Partition of Unity Implicits

Multi-level Partition of Unity Implicits Multi-level Partition of Unity Implicits Diego Salume October 23 rd, 2013 Author: Ohtake, et.al. Overview Goal: Use multi-level partition of unity (MPU) implicit surface to construct surface models. 3

More information

Paolo Cignoni ISTI CNR

Paolo Cignoni ISTI CNR A mesh processing library Paolo Cignoni ISTI CNR Intro Intro Capabilities Design/Structure Examples What A C++ template based library Include only, no compilation hassle Research Driven Library The most

More information

Compression of Tetrahedral Meshes

Compression of Tetrahedral Meshes Compression of Tetrahedral Meshes Geometry Processing CS 7960 Louis Bavoil 01/19/2006 Outline Corner Table Edgebreaker Efficiency Edgebreaker with Boundary Corner Table Two arrays of integers: V and O

More information

Surface Topology ReebGraph

Surface Topology ReebGraph Sub-Topics Compute bounding box Compute Euler Characteristic Estimate surface curvature Line description for conveying surface shape Extract skeletal representation of shapes Morse function and surface

More information

Motivation. Freeform Shape Representations for Efficient Geometry Processing. Operations on Geometric Objects. Functional Representations

Motivation. Freeform Shape Representations for Efficient Geometry Processing. Operations on Geometric Objects. Functional Representations Motivation Freeform Shape Representations for Efficient Geometry Processing Eurographics 23 Granada, Spain Geometry Processing (points, wireframes, patches, volumes) Efficient algorithms always have to

More information

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

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk Alex Li 11/20/2009 Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk duction Overview of Lagrangian of Topological s Altering the Topology 2 Presents a method for accurately tracking the moving surface

More information

Isotopic Approximation within a Tolerance Volume

Isotopic Approximation within a Tolerance Volume Isotopic Approximation within a Tolerance Volume Manish Mandad David Cohen-Steiner Pierre Alliez Inria Sophia Antipolis - 1 Goals and Motivation - 2 Goals and Motivation Input: Tolerance volume of a surface

More information

A Study on View-Dependent Representation of 3-D Mesh Models Using Hierarchical Partitioning

A Study on View-Dependent Representation of 3-D Mesh Models Using Hierarchical Partitioning Thesis for Master s Degree A Study on View-Dependent Representation of 3-D Mesh Models Using Hierarchical Partitioning Sung-Yeol Kim Department of Information and Communications Kwangju Institute of Science

More information

Surface Parameterization

Surface Parameterization Surface Parameterization A Tutorial and Survey Michael Floater and Kai Hormann Presented by Afra Zomorodian CS 468 10/19/5 1 Problem 1-1 mapping from domain to surface Original application: Texture mapping

More information

Mesh Representations & Geometry Processing

Mesh Representations & Geometry Processing Lecture 10/11: Mesh Representations & Geometry Processing Computer Graphics and Imaging UC Berkeley A Small Triangle Mesh 8 vertices, 12 triangles A Large Triangle Mesh David Digital Michelangelo Project

More information

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017 Multi-View Matching & Mesh Generation Qixing Huang Feb. 13 th 2017 Geometry Reconstruction Pipeline RANSAC --- facts Sampling Feature point detection [Gelfand et al. 05, Huang et al. 06] Correspondences

More information

Meshes. Mesh elements

Meshes. Mesh elements Meshes polygonal soup polygons specified one-by-one with no explicit information on shared vertices polygonal nonmanifold connectivity information is provided (which vertices are shared) no restrictions

More information

Surfaces, meshes, and topology

Surfaces, meshes, and topology Surfaces from Point Samples Surfaces, meshes, and topology A surface is a 2-manifold embedded in 3- dimensional Euclidean space Such surfaces are often approximated by triangle meshes 2 1 Triangle mesh

More information

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

Overview. Spectral Processing of Point- Sampled Geometry. Introduction. Introduction. Fourier Transform. Fourier Transform Overview Spectral Processing of Point- Sampled Geometry Introduction Fourier transform Spectral processing pipeline Spectral filtering Adaptive subsampling Summary Point-Based Computer Graphics Markus

More information

Manipulating the Boundary Mesh

Manipulating the Boundary Mesh Chapter 7. Manipulating the Boundary Mesh The first step in producing an unstructured grid is to define the shape of the domain boundaries. Using a preprocessor (GAMBIT or a third-party CAD package) you

More information

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques. Karljohan Lundin Palmerius Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

More information

An Introduction to Geometric Modeling using Polygonal Meshes

An Introduction to Geometric Modeling using Polygonal Meshes An Introduction to Geometric Modeling using Polygonal Meshes Joaquim Madeira Version 0.2 October 2014 U. Aveiro, October 2014 1 Main topics CG and affine areas Geometric Modeling Polygonal meshes Exact

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Grafica 3D per i beni culturali: MeshLab features. Lezione 7: 22 Marzo 2013

Grafica 3D per i beni culturali: MeshLab features. Lezione 7: 22 Marzo 2013 Grafica 3D per i beni culturali: MeshLab features Lezione 7: 22 Marzo 2013 0 Cleaning Cleaning Cleaning a mesh is an operation which is often necessary before, during and after the processing of a mesh

More information

Progressive Mesh. Reddy Sambavaram Insomniac Games

Progressive Mesh. Reddy Sambavaram Insomniac Games Progressive Mesh Reddy Sambavaram Insomniac Games LOD Schemes Artist made LODs (time consuming, old but effective way) ViewDependentMesh (usually used for very large complicated meshes. CAD apps. Probably

More information

Discrete Geometry Processing

Discrete Geometry Processing Non Convex Boundary Convex boundary creates significant distortion Free boundary is better Some slides from the Mesh Parameterization Course (Siggraph Asia 008) 1 Fixed vs Free Boundary Fixed vs Free Boundary

More information

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass University of California, Davis, USA http://www.cs.ucdavis.edu/~koehl/ims2017/ What is a shape? A shape is a 2-manifold with a Riemannian

More information

Advanced Computer Graphics

Advanced Computer Graphics Advanced Computer Graphics Lecture 2: Modeling (1): Polygon Meshes Bernhard Jung TU-BAF, Summer 2007 Overview Computer Graphics Icon: Utah teapot Polygon Meshes Subdivision Polygon Mesh Optimization high-level:

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Statistical Geometry Processing Winter Semester 2011/2012

Statistical Geometry Processing Winter Semester 2011/2012 Statistical Geometry Processing Winter Semester 2011/2012 Representations of Geometry Motivation 3 Geometric Modeling What do we want to do? d empty space (typically 3 ) B geometric object B 3 4 Fundamental

More information

Curve Corner Cutting

Curve Corner Cutting Subdivision ision Techniqueses Spring 2010 1 Curve Corner Cutting Take two points on different edges of a polygon and join them with a line segment. Then, use this line segment to replace all vertices

More information

This controller extract information about Faces,Edges and Vertices of an Editable Mesh or Editable Poly object.

This controller extract information about Faces,Edges and Vertices of an Editable Mesh or Editable Poly object. Mesh Controller How to use: Filtering methods: Geometry: Pick Object: Reference Object: Use Sub-Object Selection: Use methods of : Search in: Vertex: Scalar Output: Vector Output: Matrix outputs: Edge

More information

Design Intent of Geometric Models

Design Intent of Geometric Models School of Computer Science Cardiff University Design Intent of Geometric Models Frank C. Langbein GR/M78267 GR/S69085/01 NUF-NAL 00638/G Auckland University 15th September 2004; Version 1.1 Design Intent

More information

Foundations of Multidimensional and Metric Data Structures

Foundations of Multidimensional and Metric Data Structures Foundations of Multidimensional and Metric Data Structures Hanan Samet University of Maryland, College Park ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects Topics Ray Tracing II CS 4620 Lecture 16 Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies

More information

Cross-Parameterization and Compatible Remeshing of 3D Models

Cross-Parameterization and Compatible Remeshing of 3D Models Cross-Parameterization and Compatible Remeshing of 3D Models Vladislav Kraevoy Alla Sheffer University of British Columbia Authors Vladislav Kraevoy Ph.D. Student Alla Sheffer Assistant Professor Outline

More information

Parameterization of Meshes

Parameterization of Meshes 2-Manifold Parameterization of Meshes What makes for a smooth manifold? locally looks like Euclidian space collection of charts mutually compatible on their overlaps form an atlas Parameterizations are

More information

: Mesh Processing. Chapter 8

: Mesh Processing. Chapter 8 600.657: Mesh Processing Chapter 8 Handling Mesh Degeneracies [Botsch et al., Polygon Mesh Processing] Class of Approaches Geometric: Preserve the mesh where it s good. Volumetric: Can guarantee no self-intersection.

More information