Simplification and Improvement of Tetrahedral Models for Simulation
- Slides: 40
Simplification and Improvement of Tetrahedral Models for Simulation Barbara Cutler, MIT Julie Dorsey, Yale Leonard Mc. Millan, UNC - Chapel Hill
Motivation • Physical simulations are now in widespread use in computer graphics • Interactive deformation & fracture simulations • However, preparing appropriate models is challenging
Motivation 1, 200 bone tetras 300 bone tetras 800 skin tetras 850 skin tetras (head only) [Cutler et al. 02] & [Müller et al. 02]
Contributions • Simplification and shape improvement to meet interactive simulation requirements • Element quality metric • Models from high-resolution scanned meshes with interior boundaries • Robust & efficient implementation
Overview • Previous Meshing Research – – • • Mesh Generation Mesh Simplification Mesh Improvement Mesh Refinement Goals and Requirements Algorithm Results Conclusions & Future Work
Mesh Generation Given some boundary, fill the interior with elements • Advancing Front / Advancing Layers [Lohner 88, Pirzadeh 96] • Delaunay Triangulation [Baker 89, Shewchuk 97, Cavalcanti & Mello 99, Persson & Strang 04] • Structured/Octree Tetrahedralization [Yerry & Shepard 84, Nielson & Sung 97]
Mesh Simplification Reduce the overall number of elements • Progressive Mesh - edge collapses only – 2 D [Hoppe 96] – 3 D [Staadt 98, Cignoni et al. 00, Chiang & Lu 03, Natarajan & Edelsbrunner 04] • Complex transformations – more difficult to implement, allows topology change – 2 D [Shroeder et al. 92, Turk 92] – 3 D [Trotts et al. 98, Chopra & Meyer 02]
Mesh Improvement Improve the quality/shape of elements in the mesh • Local transformations to improve shape [Frey & Field 91, Hoppe et al. 93, Joe 95] • Sliver removal from Delaunay Triangulations [Cheng et al. 99, Edelsbrunner & Guoy 02] • Combination of transformations more effective than a single type [Freitag & Ollivier-Gooch 97]
Mesh Refinement Increase the local resolution of the mesh (while maintaining element quality) • Regular Subdivision [Bank et al. 83, Bey 95, Edelsbrunner & Grayson 00] • Edge Bisection [Alder 83, Rivara & Levin 92, Liu & Joe 95, Maubach 95, Arnold et al. 00]
Overview • Previous Meshing Research • Goals and Requirements – Element Quality Metric • Algorithm • Results • Conclusions & Future Work
Goals and Requirements • • • Reduce the overall number of elements Maintain the material boundaries Improve the shape of each element Reasonable distribution of elements Robustness Scalability
Why is Element Shape Important? • Very small dihedral angles → the stiffness matrix is constrained [Babuska & Aziz 76] • Very large dihedral angles → errors in FEM increase [Krizek 92] • All elements must meet minimum shape requirements
Element Quality Metric Geometric mean of 3 components: • Shape – minimum solid angle (equilateral ≈ 0. 55 steradians) • Volume total volume – ideal volume = target tetra count • Edge Length – ideal edge length = 3√ ideal volume
Overview • Previous Meshing Research • Goals and Requirements • Algorithm – Local mesh transformations – Block iteration • Results • Conclusions & Future Work
Local Mesh Transformations • • Tetrahedral Swaps Edge Collapse Vertex Smoothing Vertex Addition
Local Mesh Transformations • Tetrahedral Swaps – Choose the configuration with the best local element shape • Edge Collapse • Vertex Smoothing • Vertex Addition
Local Mesh Transformations • Tetrahedral Swaps • Edge Collapse – Delete a vertex & the elements around the edge • Vertex Smoothing • Vertex Addition Before After
Prioritizing Edge Collapses • Preserve topology Spanning: never collapse Boundary: check error – Thin layers should not pinch together • Collapse weight – Edge length + boundary error • No negative volumes • Local element quality does not significantly worsen Boundary-Touching: one-way collapse Interior: ok to collapse
Local Mesh Transformations • Tetrahedral Swaps • Edge Collapse • Vertex Smoothing – Move a vertex to the centroid of its neighbors – Convex or concave, but avoid negativevolume elements • Vertex Addition Before After
Local Mesh Transformations • • Tetrahedral Swaps Edge Collapse Vertex Smoothing Vertex Addition – At the center of a tetra, face, or edge – Useful when mesh is simplified, but needs further element shape improvement
Ensuring Consistency • Prevent mesh degeneracies – Examine the neighbors sharing each face, edge and vertex – (see paper for list) • Implementation must be tolerant of negative- and zero-volume elements – May be present in input models or at intermediate stages of deformation
Block Iteration Algorithm while (tetra count > target tetra count) T = a subset of all elements randomly reorder T foreach t T, try: • tetrahedral swaps • edge collapse • move vertex • add vertex Look for an action that improves or removes this element
Block Iteration Algorithm E = ideal edge length while (tetra count > target tetra count) T = a subset of all elements randomly reorder T foreach t T, try: • tetrahedral swaps • edge collapse • move vertex • add vertex E *= √ 3 tetra count target tetra count E is the allowable boundary error As ∆E → 0, the Block Iteration Algorithm is equivalent to a Progressive Mesh
Block Iteration Algorithm E = ideal edge length percent = 10% while (tetra count > target tetra count) T = the poorest percent of all elements randomly reorder T foreach t T, try: The Block Iteration • tetrahedral swaps Algorithm is a partial order • edge collapse • move vertex Not all of the edge weights • add vertex must be recomputed before the next transformation 3 tetra count E *= target tetra count percent += 10% √
Computing Edge Collapse Weight • Expensive to determine legality of collapse, especially in 3 D • On average 100 edge weights are invalidated when an edge is collapsed • Progressive Mesh maintains a priority queue of all collapse weights (total order) Before After
Edge Collapse Weight Recomputation Average number of edge weight re-computations before an edge is collapsed Block Iteration Progressive Mesh ratio 461 K → 2 K 28. 2 240. 5 8. 5 461 K → 10 K 40. 3 240. 2 6. 0 461 K → 50 K 67. 7 238. 9 3. 5 Edge collapse weight re-computation dominates the running time (~80%)
Overview • • Previous Meshing Research Goals and Requirements Algorithm Results – Meshes, Performance, Quality – Comparison to Previous Work • Conclusions & Future Work
Results: Hand original (100 K faces) 10 K tetras (7 K faces) 100 K tetras (57 K faces) 30 K tetras (19 K faces)
Results: Dragon original (100 K faces) 100 K tetras (48 K faces) 5 K tetras (3 K faces)
Performance Block Iteration (all transformations) mm: ss 461 K → 2 K 9: 20 461 K → 10 K 12: 12 461 K → 50 K 27: 45 Extreme simplification is faster because E, the allowable error, is larger (optimizing over fewer elements)
Performance Block Iteration (all transformations) mm: ss Block Iteration Progressive Mesh (edge collapse only) mm: ss ratio mm: ss 461 K → 2 K 9: 20 6: 38 1: 02: 08 9. 4 461 K → 10 K 12: 12 7: 25 1: 01: 35 8. 3 461 K → 50 K 27: 45 13: 24 57: 15 4. 3 Edge collapse weight re-computation dominates the running time (~80%)
Visualization of Element Quality good angle, but small-volume 1, 050 K tetras (133 K faces) zero-angle & zero-volume near-equilateral & ideal-volume
Visualization of Element Quality Octree or Adaptive Distance Field (ADF) 461 K tetras (108 K faces)
Visualization of Element Quality After Simplification & Mesh Improvement 10 K tetras (3 K faces)
Variety of Transformations All Transformations Edge Collapse Only More likely to contain poor quality elements or require large boundary error, E
Overview • • • Previous Meshing Research Goals and Requirements Algorithm Results Conclusions & Future Work
Conclusions • Element quality metric • Robust & efficient implementation • Ensures removal of poorest quality elements to meet FEM requirements • Encourages iterative modeling
Future Work • Switch to a total-order mesh optimization (e. g. Progressive Mesh) at end to improve performance • Order of transformations attempted • Multiple transformation look-ahead • Topological simplification • Online local re-meshing & refinement
Thank You • Matthias Müller, Rob Jagnow, Justin Legakis, Derek Bruening, Frédo Durand • MIT Computer Graphics Group
- Modals and semi modals
- Static vs dynamic simulation
- Simplification of force and moment system
- Boolean algebra and logic simplification
- Difference between tetrahedral and square planar
- Covering octahedral voids
- Penghilangan produksi useless
- Simplifying surds
- Boolean function simplification
- Pinpointing the enemy
- Logic simplification using boolean algebra
- Propaganda testimonial definition
- Articulatory simplification
- Rule of detachment logic
- Consensus theorem in digital electronics
- Cfg simplification
- Racine de 8 simplification
- Adding surds calculator
- Simplification asdw
- Graphic weight graphic novel definition
- 8 to 1 mux 진리표
- Surface simplification using quadric error metrics
- Determine the transfer function of the given system
- Simplification formula
- Efficient simplification of point-sampled surfaces
- Simplification
- Simplification
- Tetrahedral vs trigonal planar
- Tetrahedral
- Bentuk molekul hf
- Triangular prism lines of symmetry
- Maths in architecture
- Tetrahedral complex
- Crystal field theory for tetrahedral complexes
- Tetrahedral coordination complex
- Ansys mesh defeature size
- Solid answer
- Linear trigonal planar tetrahedral
- Bentuk molekul berdasarkan teori domain elektron
- Chem shapes
- Hcp tetrahedral voids