Generalizing CGAL Periodic Delaunay Triangulations Georg Osang , Mael - - PowerPoint PPT Presentation

generalizing cgal periodic delaunay triangulations
SMART_READER_LITE
LIVE PREVIEW

Generalizing CGAL Periodic Delaunay Triangulations Georg Osang , Mael - - PowerPoint PPT Presentation

Generalizing CGAL Periodic Delaunay Triangulations Georg Osang , Mael Rouxel-Labb e and Monique Teillaud September 8th, 2020 G. Osang, M. Rouxel-Labb e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 1 / 21 Setting


slide-1
SLIDE 1

Generalizing CGAL Periodic Delaunay Triangulations

Georg Osang, Mael Rouxel-Labb´ e and Monique Teillaud September 8th, 2020

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 1 / 21

slide-2
SLIDE 2

Setting

Periodic Delaunay triangulations

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-3
SLIDE 3

Setting

Periodic Delaunay triangulations

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-4
SLIDE 4

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-5
SLIDE 5

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-6
SLIDE 6

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-7
SLIDE 7

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-8
SLIDE 8

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D) Output:

  • Periodic triangulation
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-9
SLIDE 9

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D) Output:

  • Periodic triangulation

→ Representative cells (one per equivalence class)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-10
SLIDE 10

Setting

Periodic Delaunay triangulations

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D) Output:

  • Periodic triangulation

→ Representative cells (one per equivalence class)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-11
SLIDE 11

Setting

Periodic Delaunay triangulations

A A A A A A A A A A A A A A A A A A A A A A A A B B B B B B B B B B B B B B B B B B B B B B B C C C C C C C C C C C C C C C C C C C C C C C

Input:

  • Lattice Λ with basis B
  • Representative points X

→ Forming periodic point set ΛX (in 2D or 3D) Output:

  • Periodic triangulation

→ Representative cells (one per equivalence class) → with vertex translation information

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 2 / 21

slide-12
SLIDE 12

Setting

Applications

Image courtesy of Julie Bernauer Image by Solid State, created with Diamond 3.1, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=841165

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 3 / 21

slide-13
SLIDE 13

Periodic triangulations in CGAL

1 Setting 2 Periodic triangulations in CGAL 3 Generalization 4 Detailed Steps 5 Experimental results

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 4 / 21

slide-14
SLIDE 14

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-15
SLIDE 15

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)

CGAL periodic triangulations (2D & 3D, cubic):

  • Flexible design
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-16
SLIDE 16

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)

CGAL periodic triangulations (2D & 3D, cubic):

  • Flexible design
  • Geometry kernel: allows for e.g. exact arithmetics
  • Vertex/Cell base: can attach custom information to vertices/cells
  • . . .
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-17
SLIDE 17

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)

CGAL periodic triangulations (2D & 3D, cubic):

  • Flexible design
  • Geometry kernel: allows for e.g. exact arithmetics
  • Vertex/Cell base: can attach custom information to vertices/cells
  • . . .
  • Access to triangulation primitives
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-18
SLIDE 18

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)

CGAL periodic triangulations (2D & 3D, cubic):

  • Flexible design
  • Geometry kernel: allows for e.g. exact arithmetics
  • Vertex/Cell base: can attach custom information to vertices/cells
  • . . .
  • Access to triangulation primitives
  • vertex, edge, face and cell iterators
  • adjacency relations between cells
  • edges, faces and cells incident to a vertex
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-19
SLIDE 19

Periodic triangulations in CGAL

Existing implementations

Voro++ (3D, orthogonal basis), Zeo++ (3D, generic):

  • focus on particle systems (e.g. Voronoi cell statistics, ...)

CGAL periodic triangulations (2D & 3D, cubic):

  • Flexible design
  • Geometry kernel: allows for e.g. exact arithmetics
  • Vertex/Cell base: can attach custom information to vertices/cells
  • . . .
  • Access to triangulation primitives
  • vertex, edge, face and cell iterators
  • adjacency relations between cells
  • edges, faces and cells incident to a vertex

⇒ Goal: provide similar user interface for generic case

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 5 / 21

slide-20
SLIDE 20

Periodic triangulations in CGAL

Current CGAL implementation

  • only covers cubic periodicity
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 6 / 21

slide-21
SLIDE 21

Periodic triangulations in CGAL

Current CGAL implementation

  • only covers cubic periodicity
  • points inserted incrementally
  • via Bowyer-Watson algorithm
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 6 / 21

slide-22
SLIDE 22

Periodic triangulations in CGAL

Current CGAL implementation

  • only covers cubic periodicity
  • points inserted incrementally
  • via Bowyer-Watson algorithm
  • periodic triangulation data structure
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 6 / 21

slide-23
SLIDE 23

Periodic triangulations in CGAL

Current CGAL implementation

  • only covers cubic periodicity
  • points inserted incrementally
  • via Bowyer-Watson algorithm
  • periodic triangulation data structure
  • initially 3d copies of everything
  • after certain criterion met, 1 copy of everything
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 6 / 21

slide-24
SLIDE 24

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-25
SLIDE 25

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-26
SLIDE 26

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-27
SLIDE 27

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-28
SLIDE 28

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-29
SLIDE 29

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-30
SLIDE 30

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-31
SLIDE 31

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-32
SLIDE 32

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-33
SLIDE 33

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-34
SLIDE 34

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-35
SLIDE 35

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-36
SLIDE 36

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-37
SLIDE 37

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-38
SLIDE 38

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-39
SLIDE 39

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-40
SLIDE 40

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-41
SLIDE 41

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-42
SLIDE 42

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-43
SLIDE 43

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-44
SLIDE 44

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-45
SLIDE 45

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-46
SLIDE 46

Periodic triangulations in CGAL

Current CGAL implementation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 7 / 21

slide-47
SLIDE 47

Generalization

1 Setting 2 Periodic triangulations in CGAL 3 Generalization 4 Detailed Steps 5 Experimental results

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 8 / 21

slide-48
SLIDE 48

Generalization

Generalization

  • Approach does not directly generalize
  • initial 3d copies not sufficient
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 9 / 21

slide-49
SLIDE 49

Generalization

Generalization

  • Approach does not directly generalize
  • initial 3d copies not sufficient
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 9 / 21

slide-50
SLIDE 50

Generalization

Generalization

  • Approach does not directly generalize
  • initial 3d copies not sufficient
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 9 / 21

slide-51
SLIDE 51

Generalization

Generalization

  • Approach does not directly generalize
  • initial 3d copies not sufficient
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 9 / 21

slide-52
SLIDE 52

Generalization

Algorithm by Dolbilin & Huson, ’97

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-53
SLIDE 53

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-54
SLIDE 54

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • dom(0, 3Λ): scaled

domain

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-55
SLIDE 55

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • dom(0, 3Λ): scaled

domain

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-56
SLIDE 56

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • dom(0, 3Λ): scaled

domain

  • triangulate

ΛX ∩ dom(0, 3Λ)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-57
SLIDE 57

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • dom(0, 3Λ): scaled

domain

  • triangulate

ΛX ∩ dom(0, 3Λ)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-58
SLIDE 58

Generalization

Algorithm by Dolbilin & Huson, ’97

  • dom(0, Λ): Voronoi

domain of origin

  • dom(0, 3Λ): scaled

domain

  • triangulate

ΛX ∩ dom(0, 3Λ)

  • Cells with a vertex in

dom(0, Λ) are “good”, i.e. part of periodic triangulation

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 10 / 21

slide-59
SLIDE 59

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-60
SLIDE 60

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • Euclidean triangulation of ΛX ∩ dom(0, 3Λ)
  • i.e., incrementally insert 3d copies of each point
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-61
SLIDE 61

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • Euclidean triangulation of ΛX ∩ dom(0, 3Λ)
  • i.e., incrementally insert 3d copies of each point
  • provide interface for access to (implicit) periodic triangulation
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-62
SLIDE 62

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • Euclidean triangulation of ΛX ∩ dom(0, 3Λ)
  • i.e., incrementally insert 3d copies of each point
  • provide interface for access to (implicit) periodic triangulation
  • once aforementioned criterion fulfilled, operate akin to cubic case in

CGAL (“phase 2”)

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-63
SLIDE 63

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • Euclidean triangulation of ΛX ∩ dom(0, 3Λ)
  • i.e., incrementally insert 3d copies of each point
  • provide interface for access to (implicit) periodic triangulation
  • once aforementioned criterion fulfilled, operate akin to cubic case in

CGAL (“phase 2”)

  • periodic triangulation data structure
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-64
SLIDE 64

Generalization

Combined approach

Algorithm Summary:

  • start with algorithm based on DH97 (“phase 1”)
  • Euclidean triangulation of ΛX ∩ dom(0, 3Λ)
  • i.e., incrementally insert 3d copies of each point
  • provide interface for access to (implicit) periodic triangulation
  • once aforementioned criterion fulfilled, operate akin to cubic case in

CGAL (“phase 2”)

  • periodic triangulation data structure
  • 1 copy per point
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 11 / 21

slide-65
SLIDE 65

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-66
SLIDE 66

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-67
SLIDE 67

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-68
SLIDE 68

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-69
SLIDE 69

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-70
SLIDE 70

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-71
SLIDE 71

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-72
SLIDE 72

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-73
SLIDE 73

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-74
SLIDE 74

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-75
SLIDE 75

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-76
SLIDE 76

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-77
SLIDE 77

Generalization

Combined approach

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 12 / 21

slide-78
SLIDE 78

Detailed Steps

1 Setting 2 Periodic triangulations in CGAL 3 Generalization 4 Detailed Steps 5 Experimental results

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 13 / 21

slide-79
SLIDE 79

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-80
SLIDE 80

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-81
SLIDE 81

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-82
SLIDE 82

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-83
SLIDE 83

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-84
SLIDE 84

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • equivalent to closest vector problem (CVP)
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-85
SLIDE 85

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • equivalent to closest vector problem (CVP)
  • use existing algorithm, e.g. Sommer, Feder, Shalvi ’09
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-86
SLIDE 86

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • equivalent to closest vector problem (CVP)
  • use existing algorithm, e.g. Sommer, Feder, Shalvi ’09

Computing all point copies in scaled domain dom(0, 3Λ):

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-87
SLIDE 87

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • equivalent to closest vector problem (CVP)
  • use existing algorithm, e.g. Sommer, Feder, Shalvi ’09

Computing all point copies in scaled domain dom(0, 3Λ):

  • translate point by fixed set of integer combinations of basis vectors
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-88
SLIDE 88

Detailed Steps

Voronoi domain

Computing Voronoi domain dom(0, Λ):

  • reduce lattice basis
  • obtain faces of Voronoi domain from reduced basis vectors
  • Remark: not as straightforward in dimension ≥ 4

Computing the canonical point copy in dom(0, Λ):

  • equivalent to closest vector problem (CVP)
  • use existing algorithm, e.g. Sommer, Feder, Shalvi ’09

Computing all point copies in scaled domain dom(0, 3Λ):

  • translate point by fixed set of integer combinations of basis vectors
  • check translated point for containment in dom(0, 3Λ)
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 14 / 21

slide-89
SLIDE 89

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • 2

1

  • 1

2

  • −1

−2

  • −2

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-90
SLIDE 90

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-91
SLIDE 91

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • 1
  • 1
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-92
SLIDE 92

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • Filter iterators for (canonical) cells, vertices, . . .
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • 1
  • 1
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-93
SLIDE 93

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • Filter iterators for (canonical) cells, vertices, . . .
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-94
SLIDE 94

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • Filter iterators for (canonical) cells, vertices, . . .
  • Neighbourhood relations, . . .
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-95
SLIDE 95

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • Filter iterators for (canonical) cells, vertices, . . .
  • Neighbourhood relations, . . .
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-96
SLIDE 96

Detailed Steps

Interface in phase 1

  • Output: associate offsets to vertices of a cell
  • Filter iterators for (canonical) cells, vertices, . . .
  • Neighbourhood relations, . . .
  • 1
  • 1

1

  • 1
  • −1

−1

  • −1

1

  • −1
  • −1
  • 1

−1

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 15 / 21

slide-97
SLIDE 97

Detailed Steps

Converting to phase 2

Transition criterion:

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 16 / 21

slide-98
SLIDE 98

Detailed Steps

Converting to phase 2

Transition criterion:

  • circumradii of all cells are smaller than 1

4sv(Λ)

  • sv(Λ): length of shortest (non-zero) lattice vector
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 16 / 21

slide-99
SLIDE 99

Detailed Steps

Converting to phase 2

Transition criterion:

  • circumradii of all cells are smaller than 1

4sv(Λ)

  • sv(Λ): length of shortest (non-zero) lattice vector
  • ensures conflict zones of all future insertions contractible
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 16 / 21

slide-100
SLIDE 100

Detailed Steps

Converting to phase 2

Transition criterion:

  • circumradii of all cells are smaller than 1

4sv(Λ)

  • sv(Λ): length of shortest (non-zero) lattice vector
  • ensures conflict zones of all future insertions contractible

Number of points until transition:

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 16 / 21

slide-101
SLIDE 101

Detailed Steps

Converting to phase 2

Transition criterion:

  • circumradii of all cells are smaller than 1

4sv(Λ)

  • sv(Λ): length of shortest (non-zero) lattice vector
  • ensures conflict zones of all future insertions contractible

Number of points until transition:

  • depends on shape of Voronoi domain
  • in practice: earlier transition if points evenly distributed
  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 16 / 21

slide-102
SLIDE 102

Experimental results

1 Setting 2 Periodic triangulations in CGAL 3 Generalization 4 Detailed Steps 5 Experimental results

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 17 / 21

slide-103
SLIDE 103

Experimental results

Points until switch

5 10 15 20 25 30 vol(dom(0, ))/sv( )3 1000 2000 3000 4000 5000 6000 7000 points until phase switch

Number of random points inserted until switching criterion is fulfilled, for various 3D lattices. Each point in the plot represents a lattice.

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 18 / 21

slide-104
SLIDE 104

Experimental results

Running times (cubic case)

Implementation CGAL Euclidean CGAL Cubic Lattice (new) 100 0.0000 0.0001 0.0002 101 0.0000 0.0160 0.0033 102 0.0004 0.1848 0.0461 103 0.0049 0.5957 0.0858 104 0.0487 0.9591 0.3832 105 0.5679 4.8119 4.5153 106 6.5974 93.9327 95.1447 107 59.5152 2314.3618 2317.7867 Running time (in seconds) of various algorithms on random point sets of various sizes with cubic periodicity.

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 19 / 21

slide-105
SLIDE 105

Experimental results

Running times (other lattices)

Lattice Cubic FCC Λ1 Λ2

vol(dom(0,Λ)) sv(Λ)3

1.0 0.71 12.5 346.41 nswitch 141 94 2519 89950 100 0.0002 0.0001 0.0003 0.0004 101 0.0033 0.0026 0.0044 0.0035 102 0.0461 0.0287 0.0460 0.0380 103 0.0858 0.0446 0.9812 0.6372 104 0.3832 0.1642 4.6602 16.5759 105 4.5153 2.7868 10.8139 362.7956 106 95.1447 51.5945 58.1568 517.9715 107 2317.7867 1215.2648 1799.4515 2983.0943 Running times (in seconds) of our algorithm for random point sets of various sizes and various lattices. nswitch: average number of points until switch to phase 2

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 20 / 21

slide-106
SLIDE 106

Experimental results

Summary

  • periodic 2D and 3D Delaunay triangulations for arbitrary lattices

within branch of CGAL codebase, aim to integrate into CGAL

  • performance comparable to CGAL implementation for cubic lattice
  • internally operates in 2 phases
  • Phase 1: Euclidean triangulation with 3d copies of each point
  • Phase 2: Periodic triangulation with 1 copy of each point
  • Transition once sufficiently many points inserted
  • provides uniform interface to periodic triangulation (e.g. iterators,

adjacency relations) that hides the internal phase

  • G. Osang, M. Rouxel-Labb´

e, M. Teillaud Generalizing CGAL Periodic Delaunay September 8th, 2020 21 / 21