Mesh and Mesh Simplification
|
|
- Jennifer Taylor
- 5 years ago
- Views:
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
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 informationGeometric 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 informationGeometry: 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 informationMesh 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 informationMesh 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 informationMesh 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 informationCGAL. 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 informationGeometry 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 informationMesh 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 informationSurface 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 informationA 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 informationSurface 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 informationAppearance 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 informationDigital 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 informationProcessing 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 informationGeometric 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 informationMesh 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 informationCSE 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 informationAdjacency 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 informationCS 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 informationOverview. 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 informationCurvature-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 informationProcessing 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 informationVoronoi 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 informationGeometric 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 informationParameterization 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 informationA 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 informationSubdivision 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 informationSubdivision 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 informationcoding 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 informationMesh 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 informationCS 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 informationFinal 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 informationEfficient 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 informationMultiresolution 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 information3-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
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 informationFast 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 informationSaab. 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 informationProcessing 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 information5.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 informationHalf-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 informationGeometry 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 informationSimplification. 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 informationMeshes 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 information3/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 informationA 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 informationEfficient 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 informationA 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 informationTo 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 information1 - 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 informationAll 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 informationMesh 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 informationGeometric 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 informationHandles. 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 informationFathi 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 information13 - 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 informationAs 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 informationView-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 informationCurves & 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 informationConvex 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 informationHierarchical 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 informationSimplification 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 informationInterpolating 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 Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties
More informationParallel 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 informationMulti-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 informationPaolo 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 informationCompression 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 informationSurface 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 informationMotivation. 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 informationAlex 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 informationIsotopic 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 informationA 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 informationSurface 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 informationMesh 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 informationMulti-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 informationMeshes. 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 informationSurfaces, 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 informationOverview. 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 informationManipulating 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 informationIllumination 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 informationAn 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 informationComputer 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 informationGrafica 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 informationProgressive 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 informationDiscrete 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 informationTutorial 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 informationAdvanced 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 informationSubdivision 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 informationStatistical 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 informationCurve 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 informationThis 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 informationDesign 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 informationFoundations 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 informationShape 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 informationTopics. 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 informationCross-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 informationParameterization 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
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