• Aucun résultat trouvé

Mesh Generation

N/A
N/A
Protected

Academic year: 2022

Partager "Mesh Generation"

Copied!
33
0
0

Texte intégral

(1)

Mesh Generation

Jean-Daniel Boissonnat DataShape, INRIA

http://www-sop.inria.fr/datashape

(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 o

(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]

(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 ?

(5)

Scale and dimension

(6)

Sampling conditions

[Federer 1958], [Amenta & Bern 1998]

Medial axis ofM: axis(M)

set of points with at least two closest points onM

Local feature size and reach

∀x∈M, lfs(x)=d(x,axis(M)) rch(M)=infx∈Mlfs(x)

(,η)-net of¯ M

1.P ⊂M,∀x∈M: d(x,P)≤lfs(x)

2.∀p,q∈ P, kp−qk ≥ηε¯ min(lfs(p),lfs(q))

(7)

Sampling conditions

[Federer 1958], [Amenta & Bern 1998]

Medial axis ofM: axis(M)

set of points with at least two closest points onM

Local feature size and reach

∀x∈M, lfs(x)=d(x,axis(M)) rch(M)=infx∈Mlfs(x)

(,η)-net of¯ M

1.P ⊂M,∀x∈M: d(x,P)≤lfs(x)

2.∀p,q∈ P, kp−qk ≥ηε¯ min(lfs(p),lfs(q))

(8)

Restricted Delaunay triangulation

[Chew 93]

Definition

Therestricted Delaunay triangulationDelX(P)to X⊂Rd is the nerve of Vor(P)∩X

If P is anε-sample, any ball centered onXthat circumscribes a facetfof DelX(P)has a radiusεlfs(cf)

(9)

Restricted Delaunay triangulation

[Chew 93]

Definition

Therestricted Delaunay triangulationDelX(P)to X⊂Rd is the nerve of Vor(P)∩X

If P is anε-sample, any ball centered onXthat circumscribes a facetfof DelX(P)has a radiusεlfs(cf)

(10)

Restricted Delaunay triangulation

[Chew 93]

Definition

Therestricted Delaunay triangulationDelX(P)to X⊂Rd is the nerve of Vor(P)∩X

If P is anε-sample, any ball centered onXthat circumscribes a facetfof DelX(P)has a radiusεlfs(cf)

(11)

Restricted Delaunay triangulation

[Chew 93]

Definition

Therestricted Delaunay triangulationDelX(P)to X⊂Rd is the nerve of Vor(P)∩X

(12)

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¯ η¯≥cstandεsmall enough

then

Del|S(S)provides good estimates of normals

There exists ahomeomorphism φ:Del|S(P)→ S

supx(kφ(x)−xk) =O(ε2)

(13)

Surface mesh generation by Delaunay refinement

[Chew 1993, B. & Oudot 2003]

φ:SR= Lipschitz function

∀xS, 0< φ0= ¯η0εrch(S)φ(x)<

εlfs(x)

ORACLE: For a facetf ofDel|S(P), returncf,rf andφ(cf) A facetf isbadifrf > φ(cf)

Context and Motivation

Delaunay refinement meshing engine

The algorithms refines:

Bad facets: f Del|S(P) – oversized (sizing field)

– badly shaped (min angle bound) – inaccurate (distance bound) Bad Tetrahedra : tDel|O(P) – oversized (sizing field)

– badly-shaped (radius-egde ratio) Required oracle on domain to be meshed

point location in domain and subdomains

intersection detection/computation between boundary surfaces and segments (Delaunay edges)

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 9 / 36

Algorithm

INIT compute an initial (small) sampleP0S REPEAT IFf is a bad facet

insert in Del3D(cf), updatePandDel|S(P) UNTIL no bad facet remains

(14)

Surface mesh generation by Delaunay refinement

[Chew 1993, B. & Oudot 2003]

φ:SR= Lipschitz function

∀xS, 0< φ0= ¯η0εrch(S)φ(x)<

εlfs(x)

ORACLE: For a facetf ofDel|S(P), returncf,rf andφ(cf) A facetf isbadifrf > φ(cf)

Context and Motivation

Delaunay refinement meshing engine

The algorithms refines:

Bad facets: f Del|S(P) – oversized (sizing field)

– badly shaped (min angle bound) – inaccurate (distance bound) Bad Tetrahedra : tDel|O(P) – oversized (sizing field)

– badly-shaped (radius-egde ratio) Required oracle on domain to be meshed

point location in domain and subdomains

intersection detection/computation between boundary surfaces and segments (Delaunay edges)

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 9 / 36

Algorithm

INIT compute an initial (small) sampleP0S REPEAT IFf is a bad facet

insert in Del3D(cf), updatePandDel|S(P) UNTIL no bad facet remains

(15)

The meshing algorithm in action

(16)

The algorithm outputs a loose net of S

Separation

∀p∈ P,d(p,P \ {p}) =kp−qk

≥min(φ(p), φ(q))

≥φ(p)− kp−qk is Lipschitz)

⇒ kp−qk ≥ 12φ(p)≥ 12φ0 >0 the algorithm terminates

Density

I Each facet has aS-radiusrf φ(cf)< εlfs(cf)

I If correctly initialized,Del|S(P)has a vertex on each cc ofS

(17)

Size of the sample = Θ R

S dx

φ2(x)

Upper bound

Bp=B(p,φ(p)2 ),p∈ P R

S dx φ2(x) P

p

R

(Bp∩S) dx

φ2(x) (theBpare disjoint)

49P

parea(Bp∩S)

φ2(p) φ(x)φ(p) +kpxk

32 φ(p))

P

pC = C|P|

reach(S)

p φ(p)2

Lower bound

Use a covering instead of a packing

(18)

Size of the sample = Θ R

S dx

φ2(x)

Upper bound

Bp=B(p,φ(p)2 ),p∈ P R

S dx φ2(x) P

p

R

(Bp∩S) dx

φ2(x) (theBpare disjoint)

49P

parea(Bp∩S)

φ2(p) φ(x)φ(p) +kpxk

32 φ(p))

P

pC = C|P|

reach(S)

p φ(p)2

Lower bound

Use a covering instead of a packing

(19)

Chord lemma

Letxandybe two points ofM. We have

1 sin∠(xy,Tx)≤ 2 rch(kxyMk);

2 the distance fromytoTx is at most 2 rch(M)kx−yk2 .

p D q

q00 θ

Tp M

q0

kxyk ≥ kxy00k

=2 rch(M)sin(xy,Tx) kyy0k=kxyk sin(xy,Tx)

2 rchkx−yk(M2)

(20)

Tangent space approximation

Lemma [Whitney 1957]

Ifσis a j-simplex whose vertices all lie within a distancehfrom a hyperplaneH⊂Rd, then

sin∠(aff(σ),H)≤ 2j h

D(σ) = 2h Θ(σ) ∆(σ)

Corollary

Ifσis a j-simplex,j≤k, vert(σ)⊂M, ∆(σ)≤2εrch(M)

∀p∈σ, sin∠(aff(σ),Tp)≤ 2ε Θ(σ)

(h 2 rch(M)∆(σ)2 by the Chord Lemma)

(21)

Schwarz lantern

(22)

Thickness and angle bounds for Thickness and angle bounds for triangles triangles

Good sampling implies angle and thickness bounds for triangles

a b

c

h R

h=ab⇥sinb= ab ac2R

⇥(abc) = 2h 4Rh 822 = ¯82 sinb 2 = ¯2

h=ab × sinb= ab2R×ac Θ(abc) = 2∆h4Rh32Rφ2032εφrch(02 S)

sinb≥ rch(φ0S)

(23)

Triangulated pseudo-surface

Forεsmall enough,Del|S(P)is atriangulated pseudo-surface

v

v

Any edgeeofDel|S(P)has exactly two incident facets The adjacency graph of the facets is connected

(24)

Triangulated pseudo-surface

ean edge ofM,ˆ f any face incident one

1 V(p)bounded ⇒ |V(e)∩S|is even

2 V(f)intersectsSat most once O V(e) V(e)

Proof of 2 by contradiction: c,c0∈V(f)∩S

a.kc−c0k ≤2εrch(S)⇒sin∠(cc0,Tc)≤ε (Chord L.) b. cc0 ⊥f (dual face)

c.Tc≈aff(f) (Whitney’s L.)

(25)

Triangulated pseudo-surface

ean edge ofM,ˆ f any face incident one

1 V(p)bounded ⇒ |V(e)∩S|is even

2 V(f)intersectsSat most once O V(e) V(e)

Proof of 2 by contradiction: c,c0∈V(f)∩S

a.kc−c0k ≤2εrch(S)⇒sin∠(cc0,Tc)≤ε (Chord L.) b. cc0 ⊥f (dual face)

c.Tc≈aff(f) (Whitney’s L.)

(26)

The main result

The Delaunay refinement algorithm produces

anε- netP ofS

a triangulated surfaceˆS

I homeomorphic toS

I close toS (Hausdorff/Fr´echet distanceO(ε2), approximation of normalsO(ε))

(27)

Applications

Implicit surfacesf(x,y,z) =0

Isosurfaces in a 3d image (Medical images) Triangulated surfaces (Remeshing)

Point sets (Surface reconstruction) see cgal.org, CGALmesh project

(28)

Results on smooth implicit surfaces

(29)

CGALmesh Achievements

Meshing 3D domains

Input from segmented 3D medical images

[INSERM] [SIEMENS]

(30)

Comparison with the Marching Cube algorithm

Delaunay refinement Marching cube

(31)

CGALmesh Achievements

Meshing with sharp features

A polyhedral example

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 30 / 36

(32)

CGALmesh Achievements

Meshing 3D multi-domains

Input from segmented 3D medical images [IRCAD]

PA-MY (INRIA Geometrica) CGALmesh ARC-ADT-AE-2010 21 / 36

(33)

Surface reconstruction from unorganized point sets

Références

Documents relatifs

left turn at full speed. The objectives of this work were as follows: i) to extend the scope and complexity of the predictions to include more flight conditions, ii) to evaluate

Therefore we predict that Clause Level scrambling may be either Active at the head of the chain or at the tail, depending upon whether the scrambling is an

Unite´ de recherche INRIA Rocquencourt, Domaine de Voluceau, Rocquencourt, BP 105, 78153 LE CHESNAY Cedex Unite´ de recherche INRIA Sophia-Antipolis, 2004 route des Lucioles, BP

We have analyzed the whole performance of our system, by comparing the rendering framerate and the memory foot- print (number of stored triangles) of a given mesh stored at a

This section details the two main steps of the surface remeshing method: the optimization of a given number of sampling points on the model (Section 3.2.3.1) and the building of

keywords: Unstructured mesh generation; Anisotropic mesh adaptation; Metric-based error estimates; Surface approxiamtion; Euler equations; Navier-Stokes equations; Local

Although this value could be computed, seeds are almost never known beforehand: using seeds obtained through simpler (to compute) diagrams, such as Labelle and Shewchuk’s, or from

M¨ uller- Hannemann: in a first stage, the input surface mesh is reduced to a single hexahedron by successively eliminating loops from the dual graph of the quad mesh; in the