VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for...
Transcript of VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for...
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 EngineeringAtlanta, Georgia
28 Oct 2015, 10:55-11:20am (25 minutes)
VoroCrust: Simultaneous Surface Reconstruction
and Volume Meshing with Voronoi cells
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?
ALGORITHM OVERVIEWVoroCrust
SandiaNationalLaboratories
VoroCrust Primal-Dual-Primal Dance
Input: domain with boundary(3D algorithm, illustrated in 2D)
Theory for smooth manifoldsPractical 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 = exteriorblue = 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
Properties surface mesh nodes are Voronoi vertices surface mesh edges are Voronoi edges surface mesh triangles are Voronoi facets
Build unweighted Voronoi diagram of seeds. Boundary between interior and exterior cells= surface mesh, it reconstructs surface
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 InnAtlanta, GA
Armadillo
Armadillo
hex-dominant mesh is trivial extention interior seeds = lattice points (centers of hexes)
Dragon
Bunny – size graded mesh
Built-in Robustness
Not water tight? Easy, sample spheres fill the gaps
No parameterization, complicated topology? Easy, overlap and coverage tests are purely local, sphere radius
Fertility
Theory
• Why does this work?
Intersections and Duality
• Intersection point pairs– 2D: 2 circles ∧ two points– 3D: 3 spheres ∧ two points
• Intersection points on Voronoi edgedual to triangle
• Three overlapping spheres =wDel triangle, negative circumradius
G↑
G↓p1
p3p2
s1
s3
s2
c12
c13
c23
e13
e23e12
G
p1p3
p2
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
G↑
G↓
Surface mesh is set of Voronoi facetsthat happen to be triangles
Naïve Mirroring/Ghosting
• Placing seeds exactly on spheres is important– Bad normals result from
mirrored pairswithout cospherical seeds around surface points.
• 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?
Challengehalf-covered guide pairs
vs. Filtering
• Some reconstruction techniques select2 triangles of sliver f123
p1
p3
p2 p4f234
f123
p1
p3
p2 p4
f134
light = triangle seen from belowdark = triangle seen from above
p1
p3
p2 p4
f134f123
upper pair
lower pair
Sliver Tetrahedra
G 2↑g 1↑
G 1↓
g 2↓
s1
s3s2
s4 c34
G 234↑
G 124↑
G 123↓
G 134↓
f14
G2 134↓
G4 234↑
f34
f12
G3 124↑
G1 123↓
f24f13 f23
p1
p3
p2 p4
n
f14
G2 134↓
G4 234↑
f34
f12
G3 124↑
G1 123↓
f24f13f23
p1
p3
p2
p4
n
Sliver Tetrahedra
f23
f14
G2 134↓
G4 234↑
f34
f12
G3 124↑
G1 123↓
f24f13f23
p1
p3
p2
p4
n
surface mesh = four green triangles
f13f24
f14
p4
p3
p2
p1
n G4 234↑
G3 124↑
G2 134↓
G1 123↓
Power crust
• VoroCrust vs. famous “power crust” algorithm [1998]• 1000 Google Scholar citations (6 papers)
Densely sample boundary.(Same lfs density. vs. need sample weights = balls covering boundary.)
Use as weighted seeds.(vs. unweighted seeds)Select weighted Delaunaytriangles for mesh and surface reconstruction.(vs. Voronoi cells)
Far unweighted Voronoi vertices lie near medial axis.(vs. close points from weightedVoronoi edges near surface.)
images courtesy Nina Amenta, power crust authorhttps://www.cs.utah.edu/~jeffp/8F-CG/namenta.ppt
Both have sliver issues, but they’re different issues.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
ignoring sharp featuresresults in bad sphere overlaps
small spheres can avoid overlaps
ideal is to share 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
tweaked:red: 58, 218, 75, 329, 53, 432, 74, 509.5, 204, 718, 268, 699, 444, 668, 487, 689, 608, 681, 640, 526, 511, 494, 471, 492, 418, 446, 454, 400, 597, 358, 611, 266, 570, 183, 445, 190, 278, 136, 156, 146,blue: 122, 218, 105, 329, 129, 430, 112, 509, 203, 564, 269, 588, 444, 620, 486, 598, 609, 603, 505, 580, 494, 537, 463, 514, 390, 509, 388, 368, 446, 380, 574, 310, 587, 280, 559, 279, 437, 238, 263, 234, 149, 192 black: 163, 246, 254, 271, 175, 322, 263, 346, 344, 317, 436, 292, 192, 415, 161, 491, 220, 513, 452, 559
red: 58, 218, 75, 329, 53, 432, 74, 509.5, 204, 718, 268, 699, 444, 668, 487, 689, 608, 681, 640, 526, 511, 494, 471, 492, 418, 446, 454, 400, 597, 358, 611, 266, 570, 183, 445, 190, 278, 136, 156, 146,blue 122, 218, 105, 329, 129, 430, 112, 509, 203, 564, 269, 588, 444, 620, 486, 598, 609, 603, 505, 580, 494, 537, 463, 514, 390, 509, 388, 368, 446, 380, 574, 310, 587, 280, 559, 279, 437, 238, 263, 234, 149, 192