VoroCrust: Simultaneous Surface Reconstruction and Volume Meshing with Voronoi cells Scott A. Mitchell (speaker), joint work with Ahmed H. Mahmoud, Ahmad A. Rushdi, Scott A. Mitchell, Ahmad Abdelkader Abdelrazek, Chandrajit L. Bajaj, John D. Owens, Mohamed S. Ebeida Polytopal Element Methods in Mathematics and Engineering Atlanta, Georgia 28 Oct 2015, 10:55-11:20am (25 minutes)
Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output – Produces 3D Voronoi cells • convex • planar facets • no sharp dihedral angles • good aspect ratio – Surface (boundary) mesh is reconstructed (naturally, without clipping, snapping or cleanup) by the boundary between inside and outside 3D cells • planar convex 2D surface facets • convex 3D cells adjacent to boundary • not cells clipped by the boundary – Open quality goals • no small edges, no sharp edge angles, no small area faces ... • did other workshop talks describe what was needed in a mesh?
VoroCrust ALGORITHM OVERVIEW Sandia National Laboratories
VoroCrust Primal-Dual-Primal Dance Input: domain with boundary (3D algorithm, illustrated in 2D) Theory for smooth manifolds Practical rules for sharp features
Primal- Dual-Primal Dance • Create well-spaced sample points • Required properties – Weighted Voronoi balls cover bdy – Spheres have uncovered interior and exterior point: “north” and “south” poles • Sufficient for uncovered poles – local feature size lfs spacing and – no ball center inside another ball
Primal- Dual -Primal Dance Spheres Intersect at two points = unweighted seeds pairs red = exterior blue = interior Ideal: both intersection points lie outside all other balls Want seeds sufficient to reconstruct surface surface mesh nodes are Voronoi vertices surface mesh edges are Voronoi edges surface mesh triangles are Voronoi facets
Primal-Dual- Primal Dance Build unweighted Voronoi diagram of seeds. Boundary between interior and exterior cells = surface mesh, it reconstructs surface Properties surface mesh nodes are Voronoi vertices surface mesh edges are Voronoi edges surface mesh triangles are Voronoi facets
Mesh Quality Enhancement Freedom: Additional seeds outside balls. Achieve aspect ratio bound. Additional goals: lattice points for a hex-dominant mesh
Enhancement Freedom: Additional seeds outside balls. Achieve aspect ratio bound. Additional goals: lattice points for a hex-dominant mesh
Examples
Examples Wall of Hampton Inn Atlanta, GA
Armadillo
hex-dominant mesh is trivial extention interior seeds = lattice points (centers of hexes) Armadillo
Dragon
Bunny – size graded mesh
Built-in Robustness No parameterization, complicated topology? Easy, overlap and coverage tests are purely local, sphere radius Not water tight? Easy, sample spheres fill the gaps
Fertility
Theory • Why does this work?
Intersections and Duality s2 • Intersection point pairs c23 p2 – 2D: 2 circles ∧ two points s3 e12 c12 – 3D: 3 spheres ∧ two points e23 • Intersection points on Voronoi edge G p3 dual to triangle p1 e13 • Three overlapping spheres = s1 c13 wDel triangle, negative circumradius G ↑ p2 p3 p1 G ↓
Intersections and Duality • Multiple seeds on a sphere surface, none inside a sphere • Sphere center is equidistant to all these seeds and none are closer = definition of a Voronoi vertex Surface mesh is set of Voronoi facets G ↑ that happen to be triangles G ↓
Naïve Mirroring/Ghosting • Placing seeds exactly on spheres is important – Bad normals result from mirrored pairs without cospherical seeds around surface points.
Challenge half-covered guide pairs • Problem – One intersection point is covered, other is uncovered – It happens for sliver tetrahedra (3D) • four points nearly cocircular and coplanar • Solution – It’s not that bad • Consequences – Extra surface vertex – New triangles, interpolating a sliver tetrahedra – Surface mesh still provably close to input manifold – normals?
vs. Filtering • Some reconstruction p2 p4 upper pair f techniques select 2 3 4 f123 2 triangles of sliver p3 p2 p4 f123 p1 4 3 1 f p3 p2 p4 p1 lower pair f123 4 3 1 f p3 light = triangle seen from below dark = triangle seen from above p1
Sliver Tetrahedra ↑ G4 234 ↑ G3 124 p2 p4 f34 ↑ G 234 f 1 4 f24 3 ↑ G 124 f13 2 f n p3 2 1 f s3 ↓ ↑ s2 G1 123 G 2 ↑ g 1 ↓ p1 G2 134 ↓ g 2 c34 s4 s1 ↑ ↑ ↓ G4 234 G 1 G3 124 p2 f34 f14 n 3 1 ↓ f G 134 f23 f 2 4 p4 f12 p3 ↓ G 123 ↓ G1 123 p1 ↓ G2 134
Sliver Tetrahedra p3 ↑ surface mesh = four green triangles G3 124 p2 f14 ↓ G1 123 n f ↑ 2 4 G4 234 3 1 f ↓ G2 134 f23 p4 p1 ↑ ↑ G4 234 G3 124 p2 f34 f14 n 3 1 f f23 f 2 4 p4 f12 p3 ↓ G1 123 p1 ↓ G2 134
images courtesy Nina Amenta, power crust author https://www.cs.utah.edu/~jeffp/8F-CG/namenta.ppt Power crust • VoroCrust vs. famous “power crust” algorithm [1998] • 1000 Google Scholar citations (6 papers) Use as weighted seeds. Far unweighted Voronoi Densely sample boundary. (vs. unweighted seeds) vertices lie near medial axis. (Same lfs density. Select weighted Delaunay (vs. close points from weighted vs. need sample weights = triangles for mesh and balls covering boundary.) Voronoi edges near surface .) surface reconstruction. Both have sliver issues, but they’re different issues. (vs. Voronoi cells) VoroCrust allows additional seeds and a well-shaped mesh.
Challenge • Problem: – Theory was for smooth manifolds – What about sharp CAD models? • Solution: – Careful placement at sharp features, akin to Delaunay based methods
Sharp Features ideal is to share overlaps ignoring sharp features results in bad sphere overlaps small spheres can avoid overlaps
Conclusion • VoroCrust – Robust polyhedral meshing with true Voronoi cells has arrived – “ideal” polytopal mesh with • convex cells, planar facets • no clipping • good aspect ratio – provable surface convergence • Status – paper nearly complete – reimplementing production software • Open – mesh quality • short edges, sharp edge angles, small area faces – mesh quality needed for polytopal elements? • seeds interior to the volume, want surface ones too? – (bad surface normals in pathological cases?)
• backup slides
Primal-Dual-Primal dance red: 58, 218, 75, 329, 53, 432, 74, 509.5, 204, 718, 268, 699, 444, 668, 487, 689, 608, 681, 640, 52 blue 122, 218, 105, 329, 129, 430, 112, 509, 203, 564, 269, 588, 444, 62 tweaked: red: 58, 218, 75, 329, 53, 432, 74, 509.5, 204, 718, 268, 699, 444, 668, 487, 689, 608, 681, 640, 52 blue: 122, 218, 105, 329, 129, 430, 112, 509, 203, 564, 269, 588, 444, 62 black: 163, 246, 254, 271, 175, 322, 263, 346, 344, 317, 436, 2
Recommend
More recommend