Isotopic Approximation within a Tolerance Volume

Similar documents
Mesh Decimation. Mark Pauly

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

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

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

Mesh Repairing and Simplification. Gianpaolo Palma

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

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

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan 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.

A Short Survey of Mesh Simplification Algorithms

Surface Simplification Using Quadric Error Metrics

Shape Modeling and Geometry Processing

Scientific Computing WS 2018/2019. Lecture 12. Jürgen Fuhrmann Lecture 12 Slide 1

Mesh Decimation Using VTK

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

Lecture 1 Discrete Geometric Structures

: Mesh Processing. Chapter 8

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

Tutorial 3 Comparing Biological Shapes Patrice Koehl and Joel Hass

Saab. Kyle McDonald. Polygon Meshes

Processing 3D Surface Data

Computational Geometry

Spectral Surface Reconstruction from Noisy Point Clouds

Meshing Skin Surfaces with Certified Topology

A Comparison of Mesh Simplification Algorithms

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Computational Topology in Reconstruction, Mesh Generation, and Data Analysis

Hang Si. Weierstrass Institute for Applied Analysis and Stochastics Berlin, Germany. Tetrahedron II

A THINNING ALGORITHM FOR TOPOLOGICALLY CORRECT 3D SURFACE RECONSTRUCTION

Estimating Geometry and Topology from Voronoi Diagrams

Freeform Shape Representations for Efficient Geometry Processing

Tiling Three-Dimensional Space with Simplices. Shankar Krishnan AT&T Labs - Research

All the Polygons You Can Eat. Doug Rogers Developer Relations

Processing 3D Surface Data

Surface Reconstruction. Gianpaolo Palma

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Surfaces, meshes, and topology

Mesh Generation. Jean-Daniel Boissonnat DataShape, INRIA

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

From CAD surface models to quality meshes. Patrick LAUG. Projet GAMMA. INRIA Rocquencourt. Outline

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

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

Level Set Extraction from Gridded 2D and 3D Data

Topology Preserving Surface Extraction Using Star-shaped Subdivision

A Constrained Delaunay Triangle Mesh Method for Three-Dimensional Unstructured Boundary Point Cloud

Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions

Provably Good Moving Least Squares

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

: Mesh Processing. Chapter 2

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

Outline. CGAL par l exemplel. Current Partners. The CGAL Project.

Surface Topology ReebGraph

Processing 3D Surface Data

Variational Shape Approximation

Tight Cocone DIEGO SALUME SEPTEMBER 18, 2013

Simplification. Stolen from various places

COMPUTATIONAL GEOMETRY

Linear Complexity Hexahedral Mesh Generation

Mesh and Mesh Simplification

GEOMETRY MODELING & GRID GENERATION

Advanced geometry tools for CEM

Surface Mesh Generation

Geodesics in heat: A new approach to computing distance

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

An algorithm for triangulating multiple 3D polygons

A Multicover Nerve for Geometric Inference. Don Sheehy INRIA Saclay, France

Adaptive Semi-Regular Remeshing: A Voronoi-Based Approach

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

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

Approximating Polygonal Objects by Deformable Smooth Surfaces

Mesh Morphing. Ligang Liu Graphics&Geometric Computing Lab USTC

Computing the Betti Numbers of Arrangements. Saugata Basu School of Mathematics & College of Computing Georgia Institute of Technology.

Manifolds. Chapter X. 44. Locally Euclidean Spaces

Geometric Representations. Stelian Coros

Moving Least Squares Multiresolution Surface Approximation

Isotopic Approximation of Implicit Curves and Surfaces (Extended Abstract)

Occluder Simplification using Planar Sections

Chapter 1 Introduction Motivation Approach Significance of Research Overview of Material... 5

Outline of the presentation

Topological estimation using witness complexes. Vin de Silva, Stanford University

Adjacency Data Structures

Unknot recognition, linear programming and the elusive polynomial time algorithm

Extracting consistent and manifold interfaces from multi-valued volume data sets

Mesh Generation through Delaunay Refinement

6.2 Classification of Closed Surfaces

Computational Geometry Lecture Duality of Points and Lines

Shape Reconstruction from Unorganized Cross-sections

MARCHING CUBES AND VARIANTS

Differential Geometry: Circle Packings. [A Circle Packing Algorithm, Collins and Stephenson] [CirclePack, Ken Stephenson]

Surface reconstruction based on a dynamical system

Lecture 2 Unstructured Mesh Generation

Lecture 11 Combinatorial Planning: In the Plane

A Robust Procedure to Eliminate Degenerate Faces from Triangle Meshes

Theoretical Computer Science. Anisotropic diagrams: Labelle Shewchuk approach revisited

Topological Data Analysis - I. Afra Zomorodian Department of Computer Science Dartmouth College

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

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

ALIASING-FREE SIMPLIFICATION OF SURFACE MESHES

Contours & Implicit Modelling 4

Transcription:

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 geometry - 3

Goals and Motivation Input: Tolerance volume of a surface geometry Output: Surface triangle mesh Properties: Within tolerance volume Motivation: control global approximation error - 4

Goals and Motivation Input: Tolerance volume of a surface geometry Output: Surface triangle mesh Properties: Within tolerance volume Intersection free Motivation: simulation, machining, printing etc. - 5

Goals and Motivation Input: Tolerance volume of a surface geometry Output: Surface triangle mesh Properties: Within tolerance volume Intersection free Low vertex count Motivation: get an approximated mesh, low polygon count - 6

Goals and Motivation A Condition for Isotopic Approximation [Chazal, Cohen-Steiner 04] Constructive algorithm for this theoretical result - 7

Goals and Motivation A Condition for Isotopic Approximation [Chazal, Cohen-Steiner 04] Ω : Topological thickening of S Ω Ω 1 Ω 2-8

Goals and Motivation A Condition for Isotopic Approximation [Chazal, Cohen-Steiner 04] Ω : Topological thickening of S If S is included and separates sides of Ω, S is connected and Genus of S does not exceed genus of S Then, S and S are isotopic. Ω S - 9

Related Work - 10

Related Work Simplification Envelopes Cohen et al. 1996 Multiresolution decimation based on global error Ciampalini et al. 1997 Adaptively Sampled Distance Fields Frisken et al. 2000 Permission Grids: Practical, Error-Bounded Simplification Zelinka Garland 2002 Intersection Free Simplification Gumhold et al. 2003 GPU-based Tolerance Volumes for Mesh Processing Simplification of surface mesh using Hausdorff envelope Botsch et al. 2004 Borouchaki Frey 2005-11

Related Work Simplification Envelopes [Cohen et al. 96] - 12

Related Work Simplification Envelopes [Cohen et al. 96] Very good for simple geometry Input dependent Tolerance hinders simplification - 13

Overview Sampling Refinement Tolerance Volume Ω Simplification Output - 14

Algorithm - 15

Algorithm (Initialization) S: Point sample of Ω with labels f = -1 f = +1 σ radii balls at S cover Ω Initialization - 16

Algorithm (Initialization) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box f = -1 +1 +1 f = +1 f = +1 +1 +1 Initialization - 17

Algorithm (Initialization) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box f = -1 +1 +1 f T f = +1 f = +1 +1 +1 Initialization - 18

Algorithm (Initialization) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box f = -1 s Error µ(s)= f(s) f T (s) +1 +1 f T f = +1 f = +1 +1 +1 Initialization - 19

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Sample point (s S) with maximum error Refinement - 20

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T f = -1 f T = 0 Zero-set f = +1 f = +1 Refinement - 21

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Refinement - 22

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Refinement - 23

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Refinement - 24

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Boundary of simplicial tolerance ( Ɣ) Refinement - 25

Algorithm (coarse-to-fine) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Extension to 3D? Guarantees? Refinement - 26

Refinement (conditions) Zero set may cross Ω due to flat tetrahedra - 27

Refinement (conditions) Zero set may cross Ω due to flat tetrahedra Ensure interpolated function is Lipschitz - 28

Refinement (conditions) Zero set may cross Ω due to flat tetrahedra Ensure interpolated function is Lipschitz μ(s) < 1 α, given some α [0, 1] μ(s) < 1 Classify samples with a margin - 28

Refinement (conditions) Zero set may cross Ω due to flat tetrahedra Ensure interpolated function is Lipschitz μ(s) < 1 α, given some α [0, 1] h > 2σ/α - 29

Refinement (conditions) What else do we need to fix? - 30

Refinement (conditions) Misoriented elements - 31

Refinement (conditions) Misoriented elements Interpolated function should classify well local geometry f T defined on ΔABC should classify well samples of S nearest (orange) to a shrunk triangle (green) - 32

Refinement (conditions) S not classified : μ(s)>1 { } μ(s) 1 α given some α [0;1] h 2σ/α f does not classifies local geometry - 33

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Simplification - 34

Simplification (conditions) - 36

Simplification (conditions) Validity of Triangulation Combinatorial Topology [Dey et al. 98] Link condition Valid embedding Visibility kernel of 1-ring [Lee-Preparata 79] Edge PQ to be collapsed Valid embedding kernel - 37

Simplification (conditions) Validity of Triangulation Combinatorial Topology [Dey et al. 98] Valid embedding Visibility kernel of 1-ring [Lee-Preparata 79] Edge PQ to be collapsed Valid embedding kernel - 38

Simplification (conditions) Validity of Triangulation Combinatorial Topology [Dey et al. 98] Valid embedding Visibility kernel of 1-ring [Lee-Preparata 79] Preserve classification of S Non convex problem Edge PQ to be collapsed Valid embedding kernel Region that preserve classification of S - 39

Simplification (conditions) Validity of Triangulation Combinatorial Topology [Dey et al. 98] Valid embedding Visibility kernel of 1-ring [Lee-Preparata 79] Preserve classification of S Non convex problem Optimal location : Minimizes sum of squared distances between target vertex and 2-ring planes - 40

Simplification (conditions) Validity of Triangulation Combinatorial Topology [Dey et al. 98] Valid embedding Visibility kernel of 1-ring [Lee-Preparata 79] Preserve classification of S Non convex problem Optimal location : Minimizes sum of squared distances between target vertex and 2-ring planes Faithful normals (same as in refinement) - 42

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Simplification - 40

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Simplification - 41

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Simplification - 42

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Insert Z in T Simplification - 43

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Insert Z in T Collapse edges of Z Simplification - 44

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Insert Z in T Collapse edges of Z Simplification - 45

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Insert Z in T Collapse edges of Z Simplification - 46

Algorithm (fine-to-coarse) S: Point sample of Ω with labels Delaunay Triangulation T of loose bounding-box While (S not classified) Insert Steiner point to T Collapse edges of Ɣ Insert Z in T Collapse edges of Z Final output Output - 47

Recap - 48

Recap - 48

Recap - 48

Recap - 48

Proof - 55

Proof Termination Topology Only assumes separability condition on Ω - 56

Results - 62

Blade Input Ω Refinement Simplification on Ɣ Simplification on Z Simplification on all edges - 63

Varying Tolerance (fertility) - 64

Varying Tolerance (vase lion) - 65

Progress of Algorithm tolerance - 66

Robustness to input dataset and noise - 67

Robustness to input dataset and noise - 68

Robustness to input dataset and noise - 69

Robustness to input dataset and noise [Chazal et al. 11] - 70

Comparisons - 71

Comparison (Simplification Envelopes) Input Simplification Envelopes H = 60% Our Algorithm H = 10% - 72

Comparisons Hausdorff distance (output to input) - 73

Comparisons Hausdorff distance (output to input) - 74

Comparisons Hausdorff distance (input to output) - 75

Comparisons Hausdorff distance (input to output) - 76

Comparisons Hausdorff distance (input to output) - 77

Comparisons Hausdorff distance (input to output) - 78

Comparisons Hausdorff distance (output to input) dots: self intersection - 79

Comparisons Hausdorff distance (input to output) - 80

Anisotropy - 81

Anisotropy - 82

Extensions - 83

Non-closed Surfaces 2δ rδ During Simplification : Hausdorff distance between Z and boundary is enforced to be δ. - 84

Non-closed Surfaces Input preserving holes repairing holes - 85

Non-manifold - 86

Limitations Tolerance volume dependence Compute and memory intensive Slow for small tolerance - 87

Conclusions Algorithm for isotopic approximation Always intersection free and within tolerance Low mesh complexity - 88

Further Work Out-of-core Progressive algorithm - 89

Questions Thank you. - 90