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] ∂Ω 1 Ω : Topological thickening of S Ω ∂Ω 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’ • S’ is connected and • Genus of S’ does not exceed genus of S Then, S’ and S are isotopic. - 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 Zelinka – Garland Permission Grids: Practical, Error-Bounded 2002 Simplification Intersection Free Simplification Gumhold et al. 2003 GPU-based Tolerance Volumes for Mesh Botsch et al. 2004 Processing Borouchaki – Frey Simplification of surface mesh using Hausdorff 2005 envelope - 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 +1 +1 f = -1 f = +1 f = +1 +1 +1 Initialization - 17
Algorithm (Initialization) • S: Point sample of ∂Ω with labels • Delaunay Triangulation T of loose bounding-box +1 +1 f = -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 +1 +1 f = -1 Error Error s µ(s)=|f(s) µ(s)=|f s) – f T (s (s)| )| 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 – α me α ∈ [0;1 given ven some [0;1] • h h ≤ 2 σ / α • f does f does not cla ot classifies ifies local ge cal geometry etry } - 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 Link condition • Combinatorial Topology [Dey et al . 98] • Valid embedding – Visibility kernel of 1-ring [Lee-Preparata 79] Edge PQ to be Valid embedding collapsed 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 Valid embedding collapsed 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 Valid embedding Region that preserve collapsed kernel 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
Recommend
More recommend