Delaunay Triangulation: Applications Reconstruction Meshing 1 - - PowerPoint PPT Presentation
Delaunay Triangulation: Applications Reconstruction Meshing 1 - - PowerPoint PPT Presentation
Delaunay Triangulation: Applications Reconstruction Meshing 1 Reconstruction From points 2 - 1 Reconstruction From points to shape 2 - 2 Reconstruction From points 2 - 3 Reconstruction From points to shape 2 - 4 Reconstruction
2 - 1
Reconstruction
From points
2 - 2
Reconstruction
From points to shape
2 - 3
Reconstruction
From points
2 - 4
Reconstruction
From points to shape
2 - 5 From points
Reconstruction
2 - 6 From points to shape
Reconstruction
3
Reconstruction
Context Delaunay is a good start
(wanted result ⇢ Delaunay)
Crust 2D 0.4 sample ) wanted result ⇢ crust 0.25 sample ) crust ⇢ wanted result Algorithm 3D
4 - 1
Reconstruction
Context Sensor Point set (no structure or unknown)
4 - 2
Reconstruction
Context Medical Images
4 - 3
Reconstruction
Context Medical Images
4 - 4
Reconstruction
Context Childbirth simulation Surgery planning Radiotherapy planing Endoscopy simulation
4 - 5
Reconstruction
Context Childbirth simulation Surgery planning Radiotherapy planing Endoscopy simulation
4 - 6
Reconstruction
Context Sensor Point set (no structure or unknown) Scanner
4 - 7
Reconstruction
Context Sensor Point set (no structure or unknown) Scanner Endoscope
4 - 8
Reconstruction
Context Cultural heritage
4 - 9
Reconstruction
Context Cultural heritage
4 - 10
Reconstruction
Context
4 - 11
Reconstruction
Context Reverse engineering
4 - 12
Reconstruction
Context Reverse engineering Prototyping (3D print) Quality control
4 - 13
Reconstruction
Context Sensor Point set (no structure or unknown)
4 - 14
Reconstruction
Context Sensor Point set (no structure or unknown) Laser illuminate in a plane
4 - 15
Reconstruction
Context Sensor Point set (no structure or unknown) Laser illuminate in a plane Camera
4 - 16
Reconstruction
Context Sensor Point set (no structure or unknown) Laser illuminate in a plane Camera Image
4 - 17
Reconstruction
Context Sensor Point set (no structure or unknown) Laser illuminate in a plane Camera Get 3D position
4 - 18
Reconstruction
Context Geology
4 - 19
Reconstruction
Context Sensor Point set (no structure or unknown) Geology
4 - 20
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 21
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 22
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 23
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 24
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section Can be solve using Voronoi diagrams
4 - 25
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 26
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 27
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 28
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 29
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
4 - 30
Reconstruction
Context Sensor Point set (no structure or unknown) Abstract 3D problem that we can solve in 2D section
5 - 1
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 2
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 3
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 4
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 5
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 6
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 7
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
5 - 8
Reconstruction
Delaunay is a good start Medial axis of a curve (surface in 3D) Locus of center of bitangent spheres
6 - 1
Reconstruction
Delaunay is a good start ✏-sample of a curve Local feature size:
6 - 2
Reconstruction
Delaunay is a good start ✏-sample of a curve Local feature size: x lfs(x) =
6 - 3
Reconstruction
Delaunay is a good start ✏-sample of a curve Local feature size: x lfs(x) = distance(x, medial axis) lfs(x)
6 - 4
Reconstruction
Delaunay is a good start ✏-sample of a curve Local feature size: Sample is an
6 - 5
Reconstruction
Delaunay is a good start ✏-sample of a curve Local feature size: x lfs(x) = distance(x, medial axis) lfs(x) Sample is an if 8x, Disk(x, ✏·lfs(x))\Sample6= ;
7 - 1
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma:
7 - 2
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma:
7 - 3
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma:
7 - 4
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma: Disk\Curve has 2 cc A and B A B c
7 - 5
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma: Disk\Curve has 2 cc A and B A B a = closest of c on Curve(wlog on A) b = closest of c on B b a c
7 - 6
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma: Disk\Curve has 2 cc A and B A B a = closest of c on Curve(wlog on A) b = closest of c on B b a Moving from c to a dist to B % c
7 - 7
Reconstruction
Delaunay is a good start 8 Disk, Disk\Curve has a single connected component
- r Disk\Medial axis6= ;
Lemma: Disk\Curve has 2 cc A and B A B a = closest of c on Curve(wlog on A) b = closest of c on B b a Moving from c to a dist to B % reach center of bitangent disk a0 c
8 - 1 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem x0
8 - 2 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem disks centered on Curve, through x x0 Two neighboring points along curve
8 - 3 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem disks centered on Curve, through x x0 Two neighboring points along curve
8 - 4 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem disks centered on Curve, through x x0 Two neighboring points along curve
8 - 5 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem x0 xx0 neighbors on curve ) no points on cc xx0 in
8 - 6 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem 1-sampling ) ⇢ x0 xx0 neighbors on curve ) no points on cc xx0 in
8 - 7 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem 1-sampling ) ⇢ x0 xx0 neighbors on curve ) no points on cc xx0 in Lemma }) no other cc \
8 - 8 x
Reconstruction
Delaunay is a good start If Sample is a ✏-sample, ✏ < 1 neighboring points along Curve are Delaunay neighbors Theorem 1-sampling ) ⇢ x0 xx0 neighbors on curve ) no points on cc xx0 in Lemma }) no other cc \ ) empty
9 - 1
Reconstruction
Delaunay is a good start Given a sampling
9 - 2
Reconstruction
Delaunay is a good start Given a sampling Compute Delaunay
9 - 3
Reconstruction
Delaunay is a good start Given a sampling Compute Delaunay Search the good sequence of edges there
10 - 1
Reconstruction
Delaunay is a good start 1-sample is not enough
10 - 2
Reconstruction
Delaunay is a good start 1-sample is not enough
10 - 3
Reconstruction
Delaunay is a good start 1-sample is not enough
10 - 4
Reconstruction
Delaunay is a good start 1-sample is not enough
11 - 1
Reconstruction
Crust 2D Algorithm
11 - 2
Reconstruction
Crust 2D Algorithm Compute Voronoi diagram
11 - 3
Reconstruction
Crust 2D Algorithm Keep Voronoi vertices
11 - 4
Reconstruction
Crust 2D Algorithm Keep Voronoi vertices Compute Delaunay triangulation
11 - 5
Reconstruction
Crust 2D Algorithm Keep Voronoi vertices Compute Delaunay triangulation Keep edges between original points
11 - 6
Reconstruction
Crust 2D Algorithm Keep edges between original points
12 - 1
Reconstruction
Crust 2D Algorithm
12 - 2
Reconstruction
Crust 2D Algorithm
12 - 3
Reconstruction
Crust 2D Algorithm
12 - 4
Reconstruction
Crust 2D Algorithm
12 - 5
Reconstruction
Crust 2D Algorithm
12 - 6
Reconstruction
Crust 2D Algorithm
12 - 7
Reconstruction
Crust 2D Algorithm
12 - 8
Reconstruction
Crust 2D Algorithm
13 - 1
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem:
13 - 2
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve
13 - 3
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v
13 - 4
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma)
13 - 5
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
13 - 6
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ lfs
13 - 7 tangent disk is empty
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ lfs
13 - 8
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ lfs ✏ wlog lfs=1 and r ✏
13 - 9
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ lfs ✏ 1 r wlog lfs=1 and r ✏
13 - 10
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓
↵ 2
r r = 2 sin ↵
2
13 - 11
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓
↵ 2
x0 x
- = ⇡ ⇡↵
2
1 r r r = 2 sin ↵
2
13 - 12
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
⇡
2 + arcsin r 2
✓
↵ 2
x0 x
- = ⇡ ⇡↵
2
r r = 2 sin ↵
2
13 - 13
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ ⇡
2 + arcsin r 2
+
13 - 14
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ ⇡
2 + arcsin r 2
+ r + 2r sin ⇡
4 + 1 2arcsin r 2
13 - 15
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ ⇡
2 + arcsin r 2
+ r + 2r sin ⇡
4 + 1 2arcsin r 2
- lfs= 1 contradiction is reached
if
13 - 16
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem: x x0 x, x0 two neighboring points on Curve Curve Circle thru x and x0 centered on Curve By contradiction assume v 2 v intersects another cc of curve
(by Lemma) ✓
R 2r sin ✓
2
✓ ⇡
2 + arcsin r 2
+ r + 2r sin ⇡
4 + 1 2arcsin r 2
- lfs= 1 contradiction is reached
if
r + 2r sin ⇡
4 + 1 2arcsin r 2
- Plot
13 - 17
Reconstruction
Crust 2D
0.4 sample ) wanted result ⇢ crust
0.4 sample ) wanted result ⇢ crust
Theorem:
14 - 1
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
14 - 2
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0
14 - 3
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle
14 - 4
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle No Voronoi vertices there = )
14 - 5
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle No Voronoi vertices there = ) No sample points there
14 - 6
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle
14 - 7
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
⇡
2 + 2arcsin r 2 ↵ 4
= ⇡ ⇡↵
2
r ' 2 sin ↵
4
r
14 - 8
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
⇡
2 + 2arcsin r 2 ↵ 4
= ⇡ ⇡↵
2
r ' 2 sin ↵
4
r
14 - 9
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle ⇡
4 2 arcsin r 2
biggest of two angles
14 - 10
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle ⇡
4 2 arcsin r 2
biggest of two angles 2 y kxyk 2 sin
14 - 11
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle ⇡
4 2 arcsin r 2
biggest of two angles 2 y kxyk 2 sin By Lemma, circle xx0yintersects medial axis
14 - 12
Reconstruction
Crust 2D
0.25 sample ) crust ⇢ wanted result
Theorem:
0.25 sample ) crust ⇢ wanted result
x x0 Assume empty circle ⇡
4 2 arcsin r 2
biggest of two angles 2 y kxyk 2 sin Compute ✏ to ensure that
1 ✏ ⇥