variational tetrahedral meshing

28
1 Variational Tetrahedral Meshing Pierre Alliez Pierre Alliez David Cohen-Steiner David Cohen-Steiner Mariette Yvinec Mariette Yvinec Mathieu Desbrun Mathieu Desbrun s and slides borrowed from: BryanK’s talk Slides the authors posted, www.cs.uiuc.edu/class/fa05/cs598anh/slides/Bell2005_AlCoYvDe2005.pdf

Upload: gallia

Post on 05-Jan-2016

86 views

Category:

Documents


0 download

DESCRIPTION

Variational Tetrahedral Meshing. Pierre Alliez David Cohen-Steiner Mariette Yvinec Mathieu Desbrun. Figures and slides borrowed from: BryanK’s talk, Slides the authors posted, www.cs.uiuc.edu/class/fa05/cs598anh/slides/Bell2005_AlCoYvDe2005.pdf. Goals. 2D: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Variational Tetrahedral Meshing

1

Variational Tetrahedral

Meshing

Variational Tetrahedral

MeshingPierre AlliezPierre Alliez

David Cohen-SteinerDavid Cohen-Steiner

Mariette YvinecMariette Yvinec

Mathieu DesbrunMathieu Desbrun

Pierre AlliezPierre Alliez

David Cohen-SteinerDavid Cohen-Steiner

Mariette YvinecMariette Yvinec

Mathieu DesbrunMathieu Desbrun

Figures and slides borrowed from: BryanK’s talk, Slides the authors posted,

www.cs.uiuc.edu/class/fa05/cs598anh/slides/Bell2005_AlCoYvDe2005.pdf

Page 2: Variational Tetrahedral Meshing

2

GoalsGoals• 2D:

• In: Non-intersecting closed curve

• Out: Triangle Mesh

• 3D:

• In: Given a watertight, non-intersecting manifold triangle mesh

• Out: Tetrahedral Mesh

• 2D:

• In: Non-intersecting closed curve

• Out: Triangle Mesh

• 3D:

• In: Given a watertight, non-intersecting manifold triangle mesh

• Out: Tetrahedral Mesh

Page 3: Variational Tetrahedral Meshing

3

Mesh qualityMesh quality

•In this paper

•radius-edge ratio = rin / rcirc

•In this paper

•radius-edge ratio = rin / rcirc

Page 4: Variational Tetrahedral Meshing

4

Other requirements

Other requirements

•Graded mesh

•Tets size based on a sizing field

•Sizing field µ(x) : 3

• Indicate desired tet’s edge length near x

•Graded mesh

•Tets size based on a sizing field

•Sizing field µ(x) : 3

• Indicate desired tet’s edge length near x

Page 5: Variational Tetrahedral Meshing

5

AlgorithmAlgorithm

Initialize vertices based on sizing field

While (! Good enough quality)

Delaunay Triangulation/Tetrahedralization

Optimize vertices position

Page 6: Variational Tetrahedral Meshing

6

input domaininput domain

Page 7: Variational Tetrahedral Meshing

7

scatter pointsscatter points11

Page 8: Variational Tetrahedral Meshing

8

scatter pointsscatter points11optimize topologyoptimize topology22

Page 9: Variational Tetrahedral Meshing

9

scatter pointsscatter points11optimize topologyoptimize topology22optimize pointpositionoptimize pointposition

33

repeatrepeat 22 33,,

for 50,000 tets,takes about 1-10 seconds[Klingner et al. 06]

for 50,000 tets,takes about 1-10 seconds[Klingner et al. 06]

Page 10: Variational Tetrahedral Meshing

10

Optimization

•Minimize area between PWL and paraboloid

EODT = f − fPWLoverlaid

L1

Page 11: Variational Tetrahedral Meshing

11

Optimization• For fixed vertex locations

• Delaunay triangulation is the optimal connectivity

• Exists for any points set

• Has several nice properties

Page 12: Variational Tetrahedral Meshing

12

Optimization• for fixed connectivity

•min of quadratic energy leads to the optimal vertex locations

• xi is vertex i position

• |Ωi| is volume of tets in 1-ring neighbor of vertex i

Page 13: Variational Tetrahedral Meshing

13

Optimal vertex position• For uniform sizing field, turns out to be

• |Ti| is volume of tet i

• ci is circumcenter of tet i

Page 14: Variational Tetrahedral Meshing

14

Optimal vertex position

xxii

x i* =

1

|Ω i ||Tj | c j

T j ∈Ω i

Page 15: Variational Tetrahedral Meshing

15

Optimization: Init

distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad

Page 16: Variational Tetrahedral Meshing

16

Optimization: Step 1

distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad

Page 17: Variational Tetrahedral Meshing

17

Optimization: Step 2

distribution of radius ratiosdistribution of radius ratios

goodgoodbadbad

Page 18: Variational Tetrahedral Meshing

18

Optimization: Step 50

distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad

Page 19: Variational Tetrahedral Meshing

19

Graded mesh

•So far, uniform, we also want:

•To minimize number of elements

•To better approximate the boundary

•While preserving good shape of elements

Sizing Field!

Page 20: Variational Tetrahedral Meshing

20

Sizing FieldProperties:

•size lfs (local feature scuize) on boundary

•lfs = Distance to medial axis

•sizing field is K-Lipschitz[ ])(||||inf)( ylfsyxKxy

+−=Ω∂∈

μ [ ])(||||inf)( ylfsyxKxy

+−=Ω∂∈

μ

parameter

Page 21: Variational Tetrahedral Meshing

21

K=0.1

K=100

Page 22: Variational Tetrahedral Meshing

22

Page 23: Variational Tetrahedral Meshing

23

Need to modify vertex optimization

Intuition: Tet whose sizing field at circumcenter is small has big weight

Page 24: Variational Tetrahedral Meshing

24

Other details•Need to handle vertices near boundary

specially

•The vertex optimization does not respect boundary

•Need to get rid of tets outside the mesh

•Because DT include tets that cover convex hull

Page 25: Variational Tetrahedral Meshing

25

Boundary Handling•Create densely sampled set of points on

the surface, quadrature points

•Associate weight with each quadrature point

•Corner - Infinite weight

•Crease - dl / µ(x)3

•Surface - ds / µ(x)4

Page 26: Variational Tetrahedral Meshing

26

Boundary Handling• Loop through all quadrature points, q

• Let v be the closest vertex to q

• S(v) = S(v) U q

• For all vertex v,

• If S(v) != Ø,

• Position(v) = weighted average of position of q’s in S(v)

• Else

• Position(v) will be determined by the optimization

Page 27: Variational Tetrahedral Meshing

27

Outside tet strippping• The method in the paper does not seem to

work.

• What we did:

• Loop through all tets:

• A tet is outside if 4 vertices of a tet are boundary vertices and

• Its quality is bad OR

• Its barycenter is outside

• Then loop through all tets:

• If >= 2 of its neighboring tets are outside (as determined from the previous step) , this tet is outside as well

Page 28: Variational Tetrahedral Meshing

28

Observations

•Worst tets usually found near boundary

•Worst tets quality improve when we replace circumcenter with barycenter in the vertex optimization

•No theoretical support

•Average quality decrease