Simplification and Improvement of Tetrahedral Models for Simulation

Slides:



Advertisements
Similar presentations
THREE-DIMENSIONAL UNSTRUCTURED MESH GENERATION FOR ARBITRARY DOMAINS WITH CRACKS Joaquim Bento Cavalcante-Neto Department of Computing Federal University.
Advertisements

Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Consistent Mesh Parameterizations Peter Schröder Caltech Wim Sweldens Bell Labs Emil Praun Princeton.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Computing Stable and Compact Representation of Medial Axis Wenping Wang The University of Hong Kong.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
1cs542g-term Notes. 2 Meshing goals  Robust: doesn’t fail on reasonable geometry  Efficient: as few triangles as possible Easy to refine later.
Smooth view-dependent LOD control and its application to terrain rendering Hugues Hoppe Microsoft Research IEEE Visualization 1998.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Mesh Simplification Global and Local Methods:
Shape Modeling International 2007 – University of Utah, School of Computing Robust Smooth Feature Extraction from Point Clouds Joel Daniels ¹ Linh Ha ¹.
Mesh Smoothing and Untangling Optimization of vertex locations in simplicial meshes. Sean Mauch Caltech October, 2003.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Visualization 2000 Tutorial Mesh-Based Methods for Multiresolution Representations Instructor: Ken Joy Center for Image Processing and Integrated Computing.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 11: Quadric Error Metrics Ravi Ramamoorthi Some material.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Surface Simplification Using Quadric Error Metrics.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
ECS 289L A Survey of Mesh-Based Multiresolution Representations Ken Joy Center for Image Processing and Integrated Computing Computer Science Department.
3D Thinning on Cell Complexes for Computing Curve and Surface Skeletons Lu Liu Advisor: Tao Ju Master Thesis Defense Dec 18 th, 2008.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Grid Generation.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dobrina Boltcheva, Mariette Yvinec, Jean-Daniel Boissonnat INRIA – Sophia Antipolis, France 1. Initialization Use the.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Quadric Error Metrics.
Dynamic Meshing Using Adaptively Sampled Distance Fields
On-line Space Sculpturing for 3D Shape Manipulation
Presented By Greg Gire Advised By Zoë Wood California Polytechnic State University.
A lightweight approach to repairing digitized polygon meshes Marco Attene IMATI-GE / CNR 2010 Presented by Naitsat Alexander.
1 Dr. Scott Schaefer Surface Simplification. 2/32 Surface Simplification Given a closed polygon model, reduce the number of polygons and maintain appearance.
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97.
An Approach to Combined Laplacian and Optimization-Based Smoothing for Triangular, Quadrilateral, and Quad- Dominant Meshes Scott A. Canann, Joseph R.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Surface Meshing Material tret de: S. J. Owen, "A Survey of Unstructured Mesh Generation Technology", Proceedings 7th International Meshing Roundtable,
Problem Definition: Solution of PDE’s in Geosciences  Finite elements and finite volume require: u 3D geometrical model u Geological attributes and u.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Reconstruction of Solid Models from Oriented Point Sets Misha Kazhdan Johns Hopkins University.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 9 Ravi Ramamoorthi
Zl1 A sharpness dependent filter for mesh smoothing Chun-Yen Chen Kuo-Young Cheng available in CAGD Vol.22. 5(2005)
BOĞAZİÇİ UNIVERSITY – COMPUTER ENGINEERING Mehmet Balman Computer Engineering, Boğaziçi University Parallel Tetrahedral Mesh Refinement.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
Recent Progress in Mesh Generation Joshua A. Levine, Jonathan R. Bronson, Ross T. Whitaker.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.

Variational Tetrahedral Meshing
Decimation Of Triangle Meshes
Farthest Point Seeding for Efficient Placement of Streamlines
CS Computer Graphics II
Morphing and Shape Processing
User-Guided Simplification
MultiRefactor: Automated Refactoring To Improve Software Quality
CS475 3D Game Development Level Of Detail Nodes (LOD)
Mesh Control through Boundary Layers and Face Vertex Types
Domain-Modeling Techniques
Mesh Control using Size Functions and Boundary Layers
Localized Delaunay Refinement for Volumes
Visibility Preserving Terrain Simplification An Experimental Study
Chap 10. Geometric Level of Detail
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Simplification of Articulated Mesh
Presentation transcript:

Simplification and Improvement of Tetrahedral Models for Simulation Barbara Cutler, MIT Julie Dorsey, Yale Leonard McMillan, UNC - Chapel Hill

Motivation Physical simulations are now in widespread use in computer graphics Interactive deformation & fracture simulations However, preparing appropriate models is challenging

[Cutler et al. 02] & [Müller et al. 02] Motivation 1,200 bone tetras 800 skin tetras 300 bone 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 Goals and Requirements Algorithm 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 2D [Hoppe 96] 3D [Staadt 98, Cignoni et al. 00, Chiang & Lu 03, Natarajan & Edelsbrunner 04] Complex transformations – more difficult to implement, allows topology change 2D [Shroeder et al. 92, Turk 92] 3D [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 Algorithm 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 ideal volume = Edge Length ideal edge length = 3√ ideal volume total volume target tetra count

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 Spanning: never collapse Boundary: check error Preserve topology 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 negative-volume 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 is the allowable boundary error 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 *= As ∆E → 0, the Block Iteration Algorithm is equivalent to a Progressive Mesh √ tetra count target tetra count 3

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: tetrahedral swaps edge collapse move vertex add vertex E *= percent += 10% The Block Iteration Algorithm is a partial order Not all of the edge weights must be recomputed before the next transformation √ tetra count target tetra count 3

Computing Edge Collapse Weight Expensive to determine legality of collapse, especially in 3D 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 461K → 2K 28.2 240.5 8.5 461K → 10K 40.3 240.2 6.0 461K → 50K 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 (100K faces) 10K tetras (7K faces) 100K tetras

Results: Dragon original (100K faces) 100K tetras (48K faces)

Performance Block Iteration (all transformations) mm:ss 461K → 2K 9:20 461K → 10K 12:12 461K → 50K 27:45 Extreme simplification is faster because E, the allowable error, is larger (optimizing over fewer elements)

Performance Block Iteration (all transformations) mm:ss (edge collapse only) Progressive Mesh ratio 461K → 2K 9:20 6:38 1:02:08 9.4 461K → 10K 12:12 7:25 1:01:35 8.3 461K → 50K 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,050K tetras (133K faces) zero-angle & zero-volume near-equilateral & ideal-volume

Visualization of Element Quality Octree or Adaptive Distance Field (ADF) 461K tetras (108K faces)

Visualization of Element Quality After Simplification & Mesh Improvement 10K tetras (3K 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