52
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

Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Sampling Conditions for Conforming Voronoi Meshingby the VoroCrust Algorithm

Ahmed Abdelkader1, Chandrajit Bajaj2, Mohamed Ebeida3,Ahmed Mahmoud4, Scott Mitchell3, John Owens4 and Ahmad Rushdi4

1University of Maryland, College Park

2University of Texas, Austin

3Sandia National Laboratories

4University of California, Davis

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 1 / 24

Page 2: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Motivation

Meshing

Partition into “simple” elements

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 2 / 24

Page 3: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Motivation

Meshing

Partition into “simple” elements

Tetrahedral meshAhmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 2 / 24

Page 4: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Motivation

Finite Element Method (FEM)

PDE∆−→ Mesh → Algebra → Discrete Approximation → Interpolation

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 3 / 24

Page 5: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 6: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 7: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 8: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Related Work

Voronoi meshing by “mirroring”

Pair seeds naıvely across surface

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24

Page 9: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 10: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 11: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Related Work

Voronoi meshing

VoroCrust is a principled approach to mirroring

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 7 / 24

Page 12: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Preliminaries

Notation

O: bounded open set in R3; the volume to be meshed

M: boundary of O; a smooth surface

P: input sample from MM, O: surface and volume meshes

Fillette aux tourterelles [Luigi Pampaloni]Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 8 / 24

Page 13: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Preliminaries

Local features size (lfs)

At any x ∈M, lfs(x) is the distance from x to the medial axis of M.

ε-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

Page 14: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 15: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust Intuition - A 2D Example

(1) Weighted samples (balls)

(3) Compute Voronoi diagram

(2) Collect intersection points

(4) Keep the separating facets

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24

Page 16: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust Intuition - A 2D Example

(1) Weighted samples (balls)

(3) Compute Voronoi diagram

(2) Collect intersection points

(4) Keep the separating facets

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24

Page 17: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust Intuition - A 2D Example

(1) Weighted samples (balls)

(3) Compute Voronoi diagram

(2) Collect intersection points

(4) Keep the separating facets

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24

Page 18: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust Intuition - A 2D Example

(1) Weighted samples (balls)

(3) Compute Voronoi diagram

(2) Collect intersection points

(4) Keep the separating facets

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 10 / 24

Page 19: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust Intuition - A 2D Example

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 11 / 24

Page 20: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Non-Uniform Approximation

From balls to surfaces [Chazal, Lieutier (2006)]

Let P be an ε-sample of M and define bp as the ball centered at p ∈ Pwith radius δ(ε) · lfs(p). Then, M is a deformation retract of ∪bp.

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

Page 21: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Non-Uniform Approximation

From balls to surfaces [Chazal, Lieutier (2006)]

Let P be an ε-sample of M and define bp as the ball centered at p ∈ Pwith radius δ(ε) · lfs(p). Then, M is a deformation retract of ∪bp.

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

Page 22: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Non-Uniform Approximation

From balls to surfaces [Chazal, Lieutier (2006)]

Let P be an ε-sample of M and define bp as the ball centered at p ∈ Pwith radius δ(ε) · lfs(p). Then, M is a deformation retract of ∪bp.

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

Page 23: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Union of Balls

Power distance and cell

For a ball b ∈ B centered at c with radius r , π(b, x) = ‖cx‖2 − r2.Vb = {x ∈ Rd | π(b, x) ≤ π(b′, x) ∀b′ ∈ B}.

Figures from [Edelsbrunner]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 13 / 24

Page 24: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Union of Balls

Power distance and cell

For a ball b ∈ B centered at c with radius r , π(b, x) = ‖cx‖2 − r2.Vb = {x ∈ Rd | π(b, x) ≤ π(b′, x) ∀b′ ∈ B}.

Figures from [Edelsbrunner]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 13 / 24

Page 25: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Union of Balls

Weighted α-complex and α-shape [Edelsbrunner (1992-1995)]

Define K = Nerve({Vb ∩ b | b ∈ B}) and S as the underlying space |K|.

Figures from [Edelsbrunner]

Homotopy-equivalence

The nerve theorem implies S = |K| has the same homotopy-type as ∪B.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24

Page 26: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Union of Balls

Weighted α-complex and α-shape [Edelsbrunner (1992-1995)]

Define K = Nerve({Vb ∩ b | b ∈ B}) and S as the underlying space |K|.

Figures from [Edelsbrunner]

Homotopy-equivalence

The nerve theorem implies S = |K| has the same homotopy-type as ∪B.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24

Page 27: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Union of Balls

Weighted α-complex and α-shape [Edelsbrunner (1992-1995)]

Define K = Nerve({Vb ∩ b | b ∈ B}) and S as the underlying space |K|.

Figures from [Edelsbrunner]

Homotopy-equivalence

The nerve theorem implies S = |K| has the same homotopy-type as ∪B.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 14 / 24

Page 28: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Voronoi-based Surface Reconstruction

Medial Axis of a Union of Balls [Amenta, Kolluri (2001)]

Let U be a union of balls in Rd , let V be the vertices of ∂U and let S bethe α-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

Page 29: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Voronoi-based Surface Reconstruction

Medial Axis of a Union of Balls [Amenta, Kolluri (2001)]

Let U be a union of balls in Rd , let V be the vertices of ∂U and let S bethe α-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

Page 30: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Voronoi-based Surface Reconstruction

Case(1): singular facet of the α-shape

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 16 / 24

Page 31: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Tools - Voronoi-based Surface Reconstruction

Case(2): regular component of the α-shape

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 16 / 24

Page 32: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

Preliminaries - Isotopy

Isotopic surface reconstruction

Recover both surface topology and embedding

Figure from [Wikipedia]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 17 / 24

Page 33: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 34: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 35: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.

Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 36: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 37: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.

Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 38: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 39: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 40: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - The Abstract Algorithm

Start with an ε-sample P ⊂M with weightsri = 2 · lfs(pi ) defining the associated balls B.

Collect the corners of ∪B, Sl = S↑ ∪ S↓.Compute the Voronoi diagram of Sl, Vor(Sl).

Produce the surface approximation M as theVorono facets of separating S↑ from S↓.Generate additional seeds S↓↓ from O.

Return the volume mesh O as the Voronoi cellsin Vor(Sl ∪ S↓↓) with seeds in S↓ ∪ S↓↓.

Theorem

M is isotopic to M. Hence, O is isotopic to O.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 19 / 24

Page 41: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - Ball Intersections

p1

p2p3

s123↑

s123↓

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 20 / 24

Page 42: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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 oftriangles in the weighted α-complex K.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24

Page 43: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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 oftriangles in the weighted α-complex K.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24

Page 44: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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 oftriangles in the weighted α-complex K.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24

Page 45: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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 oftriangles in the weighted α-complex K.

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 21 / 24

Page 46: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - Interior Sampling and Fatness

Lipschitz extension [Miller, Talmor, Teng (1999)]

For x ∈ O let lfs(x) = infp∈M(lfs(p) + ‖xp‖).

Sampling for fat cells

Refine bounding box till lfs is satisfied

Surface seeds are far from reconstruction M

Quality for Voronoi cells: Fatness

Fix a Voronoi cell v ∈ O.

R: radius of circumscribing sphere

r : radius of inscribed sphere

Fatness of v = R/r

ε

Figure from [David Mount]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24

Page 47: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - Interior Sampling and Fatness

Lipschitz extension [Miller, Talmor, Teng (1999)]

For x ∈ O let lfs(x) = infp∈M(lfs(p) + ‖xp‖).

Sampling for fat cells

Refine bounding box till lfs is satisfied

Surface seeds are far from reconstruction M

Quality for Voronoi cells: Fatness

Fix a Voronoi cell v ∈ O.

R: radius of circumscribing sphere

r : radius of inscribed sphere

Fatness of v = R/r

ε

Figure from [David Mount]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24

Page 48: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

VoroCrust - Interior Sampling and Fatness

Lipschitz extension [Miller, Talmor, Teng (1999)]

For x ∈ O let lfs(x) = infp∈M(lfs(p) + ‖xp‖).

Sampling for fat cells

Refine bounding box till lfs is satisfied

Surface seeds are far from reconstruction M

Quality for Voronoi cells: Fatness

Fix a Voronoi cell v ∈ O.

R: radius of circumscribing sphere

r : radius of inscribed sphere

Fatness of v = R/r

ε

Figure from [David Mount]

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 22 / 24

Page 49: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 50: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 51: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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

Page 52: Sampling Conditions for Conforming Voronoi Meshing by the ...akader/files/SoCG18_VC_talk.pdfSampling Conditions for Conforming Voronoi Meshing by the VoroCrust Algorithm Ahmed Abdelkader1,

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 ([email protected])

Thanks for listening

Ahmed Abdelkader (CS@UMD) Sampling Conditions for VoroCrust 24 / 24