variational tetrahedral meshing
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 PresentationTRANSCRIPT
![Page 1: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/5.jpg)
5
AlgorithmAlgorithm
Initialize vertices based on sizing field
While (! Good enough quality)
Delaunay Triangulation/Tetrahedralization
Optimize vertices position
![Page 6: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/6.jpg)
6
input domaininput domain
![Page 7: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/7.jpg)
7
scatter pointsscatter points11
![Page 8: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/8.jpg)
8
scatter pointsscatter points11optimize topologyoptimize topology22
![Page 9: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/10.jpg)
10
Optimization
•Minimize area between PWL and paraboloid
€
EODT = f − fPWLoverlaid
L1
![Page 11: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/14.jpg)
14
Optimal vertex position
xxii
€
x i* =
1
|Ω i ||Tj | c j
T j ∈Ω i
∑
![Page 15: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/15.jpg)
15
Optimization: Init
distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad
![Page 16: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/16.jpg)
16
Optimization: Step 1
distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad
![Page 17: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/17.jpg)
17
Optimization: Step 2
distribution of radius ratiosdistribution of radius ratios
goodgoodbadbad
![Page 18: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/18.jpg)
18
Optimization: Step 50
distribution of radius ratiosdistribution of radius ratiosgoodgoodbadbad
![Page 19: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/21.jpg)
21
K=0.1
K=100
![Page 22: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/22.jpg)
22
![Page 23: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/23.jpg)
23
Need to modify vertex optimization
Intuition: Tet whose sizing field at circumcenter is small has big weight
![Page 24: Variational Tetrahedral Meshing](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022033020/56813a36550346895da22036/html5/thumbnails/28.jpg)
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