vorocrust: simultaneous surface reconstruction and volume ...summary • vorocrust is meshing for...

31
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) VoroCrust: Simultaneous Surface Reconstruction and Volume Meshing with Voronoi cells

Upload: others

Post on 29-Feb-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 2: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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?

Page 3: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

ALGORITHM OVERVIEWVoroCrust

SandiaNationalLaboratories

Page 4: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

VoroCrust Primal-Dual-Primal Dance

Input: domain with boundary(3D algorithm, illustrated in 2D)

Theory for smooth manifoldsPractical rules for sharp features

Page 5: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 6: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 7: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 8: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Mesh Quality Enhancement

Freedom: Additional seeds outside balls. Achieve aspect ratio bound.Additional goals: lattice points for a hex-dominant mesh

Page 9: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Enhancement

Freedom: Additional seeds outside balls. Achieve aspect ratio bound.Additional goals: lattice points for a hex-dominant mesh

Page 10: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Examples

Page 11: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Examples

Wall of Hampton InnAtlanta, GA

Page 12: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Armadillo

Page 13: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Armadillo

hex-dominant mesh is trivial extention interior seeds = lattice points (centers of hexes)

Page 14: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Dragon

Page 15: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Bunny – size graded mesh

Page 16: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 17: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Fertility

Page 18: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Theory

• Why does this work?

Page 19: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 20: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 21: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Naïve Mirroring/Ghosting

• Placing seeds exactly on spheres is important– Bad normals result from

mirrored pairswithout cospherical seeds around surface points.

Page 22: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

• 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

Page 23: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 24: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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

Page 25: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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↓

Page 26: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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.

Page 27: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Challenge

• Problem:– Theory was for smooth manifolds– What about sharp CAD models?

• Solution:– Careful placement at sharp features, akin to

Delaunay based methods

Page 28: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

Sharp Features

ignoring sharp featuresresults in bad sphere overlaps

small spheres can avoid overlaps

ideal is to share overlaps

Page 29: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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?)

Page 30: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

• backup slides

Page 31: VoroCrust: Simultaneous Surface Reconstruction and Volume ...Summary • VoroCrust is meshing for polytopal cells – talk has no finite element content, just geometry • Output –

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