Mesh Generation Jean-Daniel Boissonnat Geometrica, INRIA - - PowerPoint PPT Presentation

mesh generation
SMART_READER_LITE
LIVE PREVIEW

Mesh Generation Jean-Daniel Boissonnat Geometrica, INRIA - - PowerPoint PPT Presentation

Mesh Generation Jean-Daniel Boissonnat Geometrica, INRIA http://www-sop.inria.fr/geometrica Winter School, University of Nice Sophia Antipolis January 26-30, 2015 Winter School 4 Mesh generation Sophia Antipolis 1 / 23 Meshing surfaces and


slide-1
SLIDE 1

Mesh Generation

Jean-Daniel Boissonnat Geometrica, INRIA http://www-sop.inria.fr/geometrica Winter School, University of Nice Sophia Antipolis January 26-30, 2015

Winter School 4 Mesh generation Sophia Antipolis 1 / 23

slide-2
SLIDE 2

Meshing surfaces and 3D domains

visualization and graphics applications CAD and reverse engineering geometric modelling in medecine, geology, biology etc. autonomous exploration and mapping (SLAM) scientific computing : meshes for FEM

P d dO Ω O

  • Winter School 4

Mesh generation Sophia Antipolis 2 / 23

slide-3
SLIDE 3

Mesh generation : from art to science

Grid methods

Lorensen & Cline [87] : marching cube Lopez & Brodlie [03] : topological consistency Plantiga & Vegter [04] : certified topology using interval arithmetic

Morse theory

Stander & Hart [97] B., Cohen-Steiner & Vegter [04] : certified topology

Delaunay refinement

Hermeline [84] Ruppert [95] Shewchuk [02] Chew [93]

  • B. & Oudot [03,04]

Cheng et al. [04]

Winter School 4 Mesh generation Sophia Antipolis 3 / 23

slide-4
SLIDE 4

Main issues

Sampling

How do we choose points in the domain ? What information do we need to know/measure about the domain ?

Meshing

How do we connect the points ? Under what sampling conditions can we compute a good approximation of the domain ?

Winter School 4 Mesh generation Sophia Antipolis 4 / 23

slide-5
SLIDE 5

Restricted Delaunay triangulation

[Chew 93]

Definition

The restricted Delaunay triangulation DelX(P) to X ⊂ Rd is the nerve of Vor(P) ∩ X

If P is an ε-sample, any ball centered on X that circumscribes a facet of DelX(P) has a radius ≤ ε rch(M)

Winter School 4 Mesh generation Sophia Antipolis 5 / 23

slide-6
SLIDE 6

Restricted Delaunay triangulation

[Chew 93]

Definition

The restricted Delaunay triangulation DelX(P) to X ⊂ Rd is the nerve of Vor(P) ∩ X

If P is an ε-sample, any ball centered on X that circumscribes a facet of DelX(P) has a radius ≤ ε rch(M)

Winter School 4 Mesh generation Sophia Antipolis 5 / 23

slide-7
SLIDE 7

Restricted Delaunay triangulation

[Chew 93]

Definition

The restricted Delaunay triangulation DelX(P) to X ⊂ Rd is the nerve of Vor(P) ∩ X

If P is an ε-sample, any ball centered on X that circumscribes a facet of DelX(P) has a radius ≤ ε rch(M)

Winter School 4 Mesh generation Sophia Antipolis 5 / 23

slide-8
SLIDE 8

Restricted Delaunay triangulation

[Chew 93]

Definition

The restricted Delaunay triangulation DelX(P) to X ⊂ Rd is the nerve of Vor(P) ∩ X

Winter School 4 Mesh generation Sophia Antipolis 6 / 23

slide-9
SLIDE 9

A variant of the nerve theorem

[Edelsbrunner & Shah 1997]

Let M be a compact manifold without boundary. If, for any face f ∈ Vor(P) s.t. f ∩ M = ∅,

1

f intersects M transversally

2

f ∩ M = ∅ or is a topological ball then DelM(P) ≈ M

Winter School 4 Mesh generation Sophia Antipolis 7 / 23

slide-10
SLIDE 10

A variant of the nerve theorem

[Edelsbrunner & Shah 1997]

Let M be a compact manifold without boundary. If, for any face f ∈ Vor(P) s.t. f ∩ M = ∅,

1

f intersects M transversally

2

f ∩ M = ∅ or is a topological ball then DelM(P) ≈ M

Winter School 4 Mesh generation Sophia Antipolis 7 / 23

slide-11
SLIDE 11

Proof of the closed ball property

Barycentric subdivision

  • f Vor(P) ∩ M
  • f DelM(P)

Winter School 4 Mesh generation Sophia Antipolis 8 / 23

slide-12
SLIDE 12

Good sampling, scale and dimension

Winter School 4 Mesh generation Sophia Antipolis 9 / 23

slide-13
SLIDE 13

Sampling conditions

[Federer 1958], [Amenta & Bern 1998]

Medial axis of M : axis(M)

set of points with at least two closest points on M

Reach

∀x ∈ M, rch(x) = infimum of the radii of the medial balls tangent to M at x rch(M) = infx∈M rch(x)

(ǫ, η)-net of M

  • 1. P ⊂ M, ∀x ∈ M :

d(x, P) ≤ ǫ rch(x)

  • 2. ∀p, q ∈ P,

p − q ≥ η min(rch(p), rch(q))

Winter School 4 Mesh generation Sophia Antipolis 10 / 23

slide-14
SLIDE 14

Sampling conditions

[Federer 1958], [Amenta & Bern 1998]

Medial axis of M : axis(M)

set of points with at least two closest points on M

Reach

∀x ∈ M, rch(x) = infimum of the radii of the medial balls tangent to M at x rch(M) = infx∈M rch(x)

(ǫ, η)-net of M

  • 1. P ⊂ M, ∀x ∈ M :

d(x, P) ≤ ǫ rch(x)

  • 2. ∀p, q ∈ P,

p − q ≥ η min(rch(p), rch(q))

Winter School 4 Mesh generation Sophia Antipolis 10 / 23

slide-15
SLIDE 15

Restricted Delaunay triang. of (ε, η)-nets

[Amenta et al. 1998-], [B. & Oudot 2005]

If S ⊂ R3 is a compact surface of positive reach without boundary P is an (ε, η)-net with ε/η ≤ ξ0 and ε small enough then Del|S(S) provides good estimates of normals There exists a homeomorphism φ : Del|S(P) → S supx(φ(x) − x) = O(ε2)

Winter School 4 Mesh generation Sophia Antipolis 11 / 23

slide-16
SLIDE 16

Surface mesh generation by Delaunay refinement

[Chew 1993, B. & Oudot 2003] φ : S → R = Lipschitz function ∀x ∈ S, 0 < φmin ≤ φ(x) < ε rch(x) ORACLE : For a facet f of Del|S(P), return cf , rf and φ(cf ) A facet f is bad if rf > φ(cf )

Algorithm

INIT compute an initial (small) sample P0 ⊂ S REPEAT IF f is a bad facet insert in Del3D(cf ) , update P and Del|S(P) UNTIL all facets are good

Winter School 4 Mesh generation Sophia Antipolis 12 / 23

slide-17
SLIDE 17

Surface mesh generation by Delaunay refinement

[Chew 1993, B. & Oudot 2003] φ : S → R = Lipschitz function ∀x ∈ S, 0 < φmin ≤ φ(x) < ε rch(x) ORACLE : For a facet f of Del|S(P), return cf , rf and φ(cf ) A facet f is bad if rf > φ(cf )

Algorithm

INIT compute an initial (small) sample P0 ⊂ S REPEAT IF f is a bad facet insert in Del3D(cf ) , update P and Del|S(P) UNTIL all facets are good

Winter School 4 Mesh generation Sophia Antipolis 12 / 23

slide-18
SLIDE 18

The meshing algorithm in action

Winter School 4 Mesh generation Sophia Antipolis 13 / 23

slide-19
SLIDE 19

The algorithm outputs a good sample

The output sample P is sparse ∀p ∈ P, d(p, P \ {p}) = p − q ≥ min(φ(p), φ(q)) ≥ φ(p) − p − q ⇒ p − q ≥ 1

2 φ(p) ≥ 1 2 φ0 > 0

the algorithm terminates

P is a loose ε-sample of S

◮ Each facet has a S-radius rf ≤ φ(cf ) < ε rch(S) ◮ Del|S(P) has a vertex on each cc of S

(INIT)

Winter School 4 Mesh generation Sophia Antipolis 14 / 23

slide-20
SLIDE 20

Size of the sample = Θ

  • S

dx φ2(x)

  • Upper bound

Bp = B(p, φ(p)

2 ), p ∈ P

  • S

dx φ2(x) ≥ p

  • (Bp∩S)

dx φ2(x)

(the Bp are disjoint)

≥ 4

9

  • p

area(Bp∩S)

φ2(p)

φ(x) ≤ φ(p) + p − x ≤ 3

2 φ(p))

p C = C |P| reach(S) p

φ(p) 2

Lower bound

Use a covering instead of a packing

Winter School 4 Mesh generation Sophia Antipolis 15 / 23

slide-21
SLIDE 21

Size of the sample = Θ

  • S

dx φ2(x)

  • Upper bound

Bp = B(p, φ(p)

2 ), p ∈ P

  • S

dx φ2(x) ≥ p

  • (Bp∩S)

dx φ2(x)

(the Bp are disjoint)

≥ 4

9

  • p

area(Bp∩S)

φ2(p)

φ(x) ≤ φ(p) + p − x ≤ 3

2 φ(p))

p C = C |P| reach(S) p

φ(p) 2

Lower bound

Use a covering instead of a packing

Winter School 4 Mesh generation Sophia Antipolis 15 / 23

slide-22
SLIDE 22

The full result

The Delaunay refinement algorithm produces a good (dense and sparse) sample a triangulated surface ˆ S

◮ homeomorphic to S ◮ close to S (Hausdorff/Fr´

echet distance, approximation of normals)

Winter School 4 Mesh generation Sophia Antipolis 16 / 23

slide-23
SLIDE 23

Applications

Implicit surfaces f(x, y, z) = 0 Isosurfaces in a 3d image (Medical images) Triangulated surfaces (Remeshing) Point sets (Surface reconstruction) see cgal.org, CGALmesh project

Winter School 4 Mesh generation Sophia Antipolis 17 / 23

slide-24
SLIDE 24

Results on smooth implicit surfaces

Winter School 4 Mesh generation Sophia Antipolis 18 / 23

slide-25
SLIDE 25

Meshing 3D domains

Input from segmented 3D medical images

[INSERM] [SIEMENS]

Winter School 4 Mesh generation Sophia Antipolis 19 / 23

slide-26
SLIDE 26

Comparison with the Marching Cube algorithm

Delaunay refinement Marching cube

Winter School 4 Mesh generation Sophia Antipolis 20 / 23

slide-27
SLIDE 27

Meshing with sharp features

A polyhedral example

Winter School 4 Mesh generation Sophia Antipolis 21 / 23

slide-28
SLIDE 28

Meshing 3D multi-domains

Input from segmented 3D medical images [IRCAD]

Winter School 4 Mesh generation Sophia Antipolis 22 / 23

slide-29
SLIDE 29

Surface reconstruction from unorganized point sets

Courtesy of P . Alliez

Winter School 4 Mesh generation Sophia Antipolis 23 / 23