Sampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader 1, Chandrajit Bajaj 2, Mohamed Ebeida 3, Ahmed Mahmoud 4, Scott Mitchell 3, John Owens 4 and Ahmad Rushdi 4 1 University of Maryland, College Park 2 University of Texas, Austin 3 Sandia National Laboratories 4 University of California, Davis Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 1 / 24
Motivation Meshing Partition into simple elements Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 2 / 24
Motivation Meshing Partition into simple elements Tetrahedral mesh Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 2 / 24
Motivation Finite Element Method (FEM) PDE Mesh Algebra Discrete Approximation Interpolation Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 3 / 24
Motivation What type of element to use? No silver bullet.. Tetrahedral mesh vs. Voronoi mesh Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 4 / 24
Motivation Why polyhedral meshing? Less sensitive to stretching Efficient meshing of complicated domains Higher node degree, even at boundaries Better approximations of gradients Why Voronoi meshing? Convex elements Positive Jacobians Orthogonal dual: a Delaunay mesh Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 5 / 24
Related Work Voronoi meshing by clipping Initial Voronoi mesh Truncate cells by bounding surface Defects Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 6 / 24
Related Work Voronoi meshing by mirroring Pair seeds naïvely across surface Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24
Related Work Voronoi meshing by mirroring Pair seeds naïvely across surface Bad surface normals Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24
Related Work Voronoi meshing by mirroring Pair seeds naïvely across surface Bad surface normals Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24
Related Work Voronoi meshing VoroCrust is a principled approach to mirroring Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24
Preliminaries Notation O: bounded open set in R 3 ; the volume to be meshed M: boundary of O; a smooth surface P: input sample from M ˆM, Ô: surface and volume meshes Fillette aux tourterelles [Luigi Pampaloni] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 8 / 24
Preliminaries Local features size (lfs) At any x M, lfs(x) is the distance from x to the medial axis of M. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 9 / 24
Preliminaries ɛ-sample A set of points P on M such that x M p P s.t. px ɛ lfs(x). Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 9 / 24
VoroCrust Intuition - A 2D Example (1) Weighted samples (balls) Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24
VoroCrust Intuition - A 2D Example (1) Weighted samples (balls) (2) Collect intersection points Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24
VoroCrust Intuition - A 2D Example (1) Weighted samples (balls) (2) Collect intersection points (3) Compute Voronoi diagram Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24
VoroCrust Intuition - A 2D Example (1) Weighted samples (balls) (2) Collect intersection points (3) Compute Voronoi diagram (4) Keep the separating facets Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24
VoroCrust Intuition - A 2D Example Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 11 / 24
Tools - Non-Uniform Approximation From balls to surfaces [Chazal, Lieutier (2006)] Let P be an ɛ-sample of M and define b p as the ball centered at p P with radius δ(ɛ) lfs(p). Then, M is a deformation retract of b p. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 12 / 24
Tools - Non-Uniform Approximation From balls to surfaces [Chazal, Lieutier (2006)] Let P be an ɛ-sample of M and define b p as the ball centered at p P with radius δ(ɛ) lfs(p). Then, M is a deformation retract of b p. VoroCrust step (1) Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 12 / 24
Tools - Non-Uniform Approximation From balls to surfaces [Chazal, Lieutier (2006)] Let P be an ɛ-sample of M and define b p as the ball centered at p P with radius δ(ɛ) lfs(p). Then, M is a deformation retract of b p. VoroCrust step (1) Corollary For sufficiently small ɛ, we may set δ(ɛ) = c; we take c = 2. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 12 / 24
Tools - Union of Balls Power distance and cell For a ball b B centered at c with radius r, π(b, x) = cx 2 r 2. V b = {x R d π(b, x) π(b, x) b B}. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 13 / 24
Tools - Union of Balls Power distance and cell For a ball b B centered at c with radius r, π(b, x) = cx 2 r 2. V b = {x R d π(b, x) π(b, x) b B}. Figures from [Edelsbrunner] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 13 / 24
Tools - Union of Balls Weighted α-complex and α-shape [Edelsbrunner (1992-1995)] Define K = Nerve({V b b b B}) and S as the underlying space K. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24
Tools - Union of Balls Weighted α-complex and α-shape [Edelsbrunner (1992-1995)] Define K = Nerve({V b b b B}) and S as the underlying space K. Figures from [Edelsbrunner] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24
Tools - Union of Balls Weighted α-complex and α-shape [Edelsbrunner (1992-1995)] Define K = Nerve({V b b b B}) and S as the underlying space K. Homotopy-equivalence Figures from [Edelsbrunner] The nerve theorem implies S = K has the same homotopy-type as B. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24
Tools - Voronoi-based Surface Reconstruction Medial Axis of a Union of Balls [Amenta, Kolluri (2001)] Let U be a union of balls in R d, let V be the vertices of U and let S be the α-shape of U. The medial axis of U consists of: 1 the singular faces of S and 2 the subset of Vor(V ) which intersects the regular components of S. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 15 / 24
Tools - Voronoi-based Surface Reconstruction Medial Axis of a Union of Balls [Amenta, Kolluri (2001)] Let U be a union of balls in R d, let V be the vertices of U and let S be the α-shape of U. The medial axis of U consists of: 1 the singular faces of S and 2 the subset of Vor(V ) which intersects the regular components of S. VoroCurst steps (2-4) Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 15 / 24
Tools - Voronoi-based Surface Reconstruction Case(1): singular facet of the α-shape Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 16 / 24
Tools - Voronoi-based Surface Reconstruction Case(2): regular component of the α-shape Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 16 / 24
Preliminaries - Isotopy Isotopic surface reconstruction Recover both surface topology and embedding Figure from [Wikipedia] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 17 / 24
Tools - Isotopic Surface Reconstruction A purely topological condition [Chazal, Cohen-Steiner (2005)] M is homeomorphic to M, M is included in a topological thickening M of M, M separates the sides of M. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 18 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Compute the Voronoi diagram of S, Vor(S ). Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Compute the Voronoi diagram of S, Vor(S ). Produce the surface approximation ˆM as the Vorono facets of separating S from S. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Compute the Voronoi diagram of S, Vor(S ). Produce the surface approximation ˆM as the Vorono facets of separating S from S. Generate additional seeds S from O. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Compute the Voronoi diagram of S, Vor(S ). Produce the surface approximation ˆM as the Vorono facets of separating S from S. Generate additional seeds S from O. Return the volume mesh Ô as the Voronoi cells in Vor(S S ) with seeds in S S. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - The Abstract Algorithm Start with an ɛ-sample P M with weights r i = 2 lfs(p i ) defining the associated balls B. Collect the corners of B, S = S S. Compute the Voronoi diagram of S, Vor(S ). Produce the surface approximation ˆM as the Vorono facets of separating S from S. Generate additional seeds S from O. Return the volume mesh Ô as the Voronoi cells in Vor(S S ) with seeds in S S. Theorem ˆM is isotopic to M. Hence, Ô is isotopic to O. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24
VoroCrust - Ball Intersections s 123 p 1 p 2 p 3 s 123 Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 20 / 24
VoroCrust - Sampling Conditions Requirement: disk caps Each sample ball contributes exactly two caps, i.e., topological-disks, to the boundary of the union. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24
VoroCrust - Sampling Conditions Requirement: disk caps Each sample ball contributes exactly two caps, i.e., topological-disks, to the boundary of the union. Sampling conditions lfs(q) lfs(p) = p q σ ɛlfs(p) Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24
VoroCrust - Sampling Conditions Requirement: disk caps Each sample ball contributes exactly two caps, i.e., topological-disks, to the boundary of the union. Sampling conditions lfs(q) lfs(p) = p q σ ɛlfs(p) Lemma For sufficiently small ɛ, we may set σ = 3/4. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24
VoroCrust - Sampling Conditions Requirement: disk caps Each sample ball contributes exactly two caps, i.e., topological-disks, to the boundary of the union. Sampling conditions lfs(q) lfs(p) = p q σ ɛlfs(p) Lemma For sufficiently small ɛ, we may set σ = 3/4. More geometric lemmata Samples appear as vertices in ˆM. Bounds on angles and normal deviation of triangles in the weighted α-complex K. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24
VoroCrust - Interior Sampling and Fatness Lipschitz extension [Miller, Talmor, Teng (1999)] For x O let lfs(x) = inf p M (lfs(p) + xp ). ε Figure from [David Mount] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24
VoroCrust - Interior Sampling and Fatness Lipschitz extension [Miller, Talmor, Teng (1999)] For x O let lfs(x) = inf p M (lfs(p) + xp ). Sampling for fat cells Refine bounding box till lfs is satisfied Surface seeds are far from reconstruction ˆM ε Figure from [David Mount] Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24
VoroCrust - Interior Sampling and Fatness Lipschitz extension [Miller, Talmor, Teng (1999)] For x O let lfs(x) = inf p M (lfs(p) + xp ). Sampling for fat cells Refine bounding box till lfs is satisfied Surface seeds are far from reconstruction Quality for Voronoi cells: Fatness Fix a Voronoi cell v Ô. R: radius of circumscribing sphere r: radius of inscribed sphere Fatness of v = R/r ˆM Figure from [David Mount] ε Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24
VoroCrust - Interior Sampling and Fatness Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 23 / 24
VoroCrust - Interior Sampling and Fatness Lemma Out-radius to in-radius ratio is at most 15. Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 23 / 24
VoroCrust - Interior Sampling and Fatness Lemma Out-radius to in-radius ratio is at most 15. Number of interior seeds S = O(ɛ 3 vol lfs 3 ). Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 23 / 24
Summary A new Voronoi-based algorithm for isotopic surface reconstruction Conforming Voronoi meshing of volumes bounded by smooth surfaces Lower-bound on in-radius to out-radius ratio of all Voronoi cells For all matters related to the VoroCrust software Please contact: Mohamed S. Ebeida (msebeid@sandia.gov) Thanks for listening Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 24 / 24