Delaunay triangulations on hyperbolic surfaces Iordan Iordanov - - PowerPoint PPT Presentation

delaunay triangulations on hyperbolic surfaces
SMART_READER_LITE
LIVE PREVIEW

Delaunay triangulations on hyperbolic surfaces Iordan Iordanov - - PowerPoint PPT Presentation

Delaunay triangulations on hyperbolic surfaces Iordan Iordanov Monique Teillaud Astonishing Workshop 25 September 2017 Nancy, France I. Iordanov & M. Teillaud Delaunay triangulations on hyperbolic surfaces 1 / 30 Outline 1


slide-1
SLIDE 1

Delaunay triangulations on hyperbolic surfaces

Iordan Iordanov Monique Teillaud

Astonishing Workshop

25 September 2017 Nancy, France

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 1 / 30

slide-2
SLIDE 2

Outline

1 Introduction 1.1 Motivation 1.2 The Bolza Surface 1.3 Background from [BTV, SoCG’16] 2 Implementation 2.1 Data Structure 2.2 Incremental Insertion 2.3 Results 3 Future work

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 2 / 30

slide-3
SLIDE 3

Introduction

Outline

1 Introduction 1.1 Motivation 1.2 The Bolza Surface 1.3 Background from [BTV, SoCG’16] 2 Implementation 2.1 Data Structure 2.2 Incremental Insertion 2.3 Results 3 Future work

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 3 / 30

slide-4
SLIDE 4

Introduction Motivation

Motivation

Periodic triangulations in the Euclidean plane

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 4 / 30

slide-5
SLIDE 5

Introduction Motivation

Motivation

Periodic triangulations in the hyperbolic plane

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 4 / 30

slide-6
SLIDE 6

Introduction Motivation

Motivation

Applications

[Sausset, Tarjus, Viot] [Chossat, Faye, Faugeras]

(d)

200 segments

[Balazs, Voros]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 5 / 30

slide-7
SLIDE 7

Introduction Motivation

Motivation

Beautiful groups

Fuchsian groups finitely presented groups triangle groups . . .

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 6 / 30

slide-8
SLIDE 8

Introduction Motivation

State of the art

Closed Euclidean manifolds Algorithms

2D [Mazón, Recio], 3D [Dolbilin, Huson], dD [Caroli, Teillaud, DCG’16]

Software (square/cubic flat torus)

2D [Kruithof], 3D [Caroli, Teillaud]

Closed hyperbolic manifolds Algorithms

2D, genus 2 [Bogdanov, Teillaud, Vegter, SoCG’16]

Software (Bolza surface)

[Iordanov, Teillaud, SoCG’17]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 7 / 30

slide-9
SLIDE 9

Introduction The Bolza Surface

Poincaré model of the hyperbolic plane H2

H∞

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 8 / 30

slide-10
SLIDE 10

Introduction The Bolza Surface

Hyperbolic translations

p a(p) q a(q) Xa ℓ(a) > ℓ(a)

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 8 / 30

special case axis = diameter

slide-11
SLIDE 11

Introduction The Bolza Surface

Hyperbolic translations

q Xa ba(q) ab(q) Xb

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 8 / 30

non-commutative!

slide-12
SLIDE 12

Introduction The Bolza Surface

Bolza surface

What is it? Closed, compact, orientable surface of genus 2. Constant negative curvature − → locally hyperbolic metric. The most symmetric of all genus-2 surfaces.

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 9 / 30

slide-13
SLIDE 13

Introduction The Bolza Surface

Bolza surface

a ¯ b c ¯ d ¯ a b ¯ c d O

Fuchsian group G with finite presentation G =

  • a, b, c, d | abcdabcd
  • G contains only translations (and 1)

Bolza surface M = H2/G with projection map πM : H2 → M

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 10 / 30

slide-14
SLIDE 14

Introduction The Bolza Surface

Bolza surface

a ¯ b c ¯ d ¯ a b ¯ c d O

Fuchsian group G with finite presentation G =

  • a, b, c, d | abcdabcd
  • G contains only translations (and 1)

Bolza surface M = H2/G with projection map πM : H2 → M A =

  • a, b, c, d, a, b, c, d
  • =

g0, g1, ..., g7

  • gk =
  • α

βk βk α

  • ,

gk(z) = αz+βk

βkz+α,

α = 1 + √ 2, βk = eikπ/4√ 2α

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 10 / 30

slide-15
SLIDE 15

Introduction The Bolza Surface

Bolza surface

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 11 / 30

a ¯ b c ¯ d ¯ a b ¯ c d O

a ¯ b c ¯ d ¯ a b ¯ c d O

slide-16
SLIDE 16

Introduction The Bolza Surface

Hyperbolic octagon

Voronoi diagram of GO

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 12 / 30

slide-17
SLIDE 17

Introduction The Bolza Surface

Hyperbolic octagon

Fundamental domain DO = Dirichlet region of O

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 12 / 30

slide-18
SLIDE 18

Introduction The Bolza Surface

Hyperbolic octagon

“Original” domain D: contains exactly one point of each orbit

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 12 / 30

slide-19
SLIDE 19

Introduction Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of a non-contractible loop on M S set of points in DO ⊂ H2 δS = diameter of largest disks in H2 not containing any point of GS δS < 1

2 sys (M)

= ⇒ πM( DTH (GS) ) = DTM (S) is a simplicial complex = ⇒ The usual incremental algorithm can be used

[Bowyer]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 13 / 30

slide-20
SLIDE 20

Introduction Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of a non-contractible loop on M S set of points in H2 δS = diameter of largest disks in H2 not containing any point of GS δS < 1

2 sys (M)

= ⇒ πM( DTH (GS) ) = DTM (S) is a simplicial complex = ⇒ The usual incremental algorithm can be used

[Bowyer]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 13 / 30

slide-21
SLIDE 21

Introduction Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of a non-contractible loop on M S set of points in H2 δS = diameter of largest disks in H2 not containing any point of GS δS < 1

2 sys (M)

= ⇒ πM( DTH (GS) ) = DTM (S) is a simplicial complex = ⇒ The usual incremental algorithm can be used

[Bowyer]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 13 / 30

slide-22
SLIDE 22

Introduction Background from [BTV, SoCG’16]

How can we satisfy δS < 1

2 sys (M)?

Two ways:

1 Covering spaces

effect: increase the systole take copies of the fundamental domain with input points new: 32 < number of sheets ≤ 128 new: 34 < number of sheets [Ebbens, 2017]

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 14 / 30

slide-23
SLIDE 23

Introduction Background from [BTV, SoCG’16]

How can we satisfy δS < 1

2 sys (M)?

Two ways:

1 Covering spaces

effect: increase the systole take copies of the fundamental domain with input points new: 32 < number of sheets ≤ 128 new: 34 < number of sheets [Ebbens, 2017]

2 Dummy points

effect: artificially satisfy the condition in the 1-cover set of points given for the Bolza surface more appealing computationally

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 14 / 30

slide-24
SLIDE 24

Introduction Background from [BTV, SoCG’16]

How can we satisfy δS < 1

2 sys (M)?

Two ways:

1 Covering spaces

effect: increase the systole take copies of the fundamental domain with input points new: 32 < number of sheets ≤ 128 new: 34 < number of sheets [Ebbens, 2017]

2 Dummy points

effect: artificially satisfy the condition in the 1-cover set of points given for the Bolza surface more appealing computationally

We adopt the second approach.

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 14 / 30

slide-25
SLIDE 25

Introduction Background from [BTV, SoCG’16]

Systole on the octagon

  • sys(M)

1 2sys(M)

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 15 / 30

slide-26
SLIDE 26

Introduction Background from [BTV, SoCG’16]

Set of dummy points

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 15 / 30

slide-27
SLIDE 27

Introduction Background from [BTV, SoCG’16]

Set of dummy points vs. criterion

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 15 / 30

slide-28
SLIDE 28

Introduction Background from [BTV, SoCG’16]

Delaunay triangulation of the dummy points

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 15 / 30

slide-29
SLIDE 29

Introduction Background from [BTV, SoCG’16]

Delaunay triangulation of the Bolza surface

Algorithm:

1 initialize with dummy points 2 insert points in S 3 remove dummy points

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 15 / 30

slide-30
SLIDE 30

Implementation

Outline

1 Introduction 1.1 Motivation 1.2 The Bolza Surface 1.3 Background from [BTV, SoCG’16] 2 Implementation 2.1 Data Structure 2.2 Incremental Insertion 2.3 Results 3 Future work

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 16 / 30

slide-31
SLIDE 31

Implementation Data Structure

Notation

d

dc dcb a b c d abc a b

a

a ¯ d a ¯ d¯ c ¯ b ¯ c ¯ d a ¯ b¯ c ¯ d ¯ b¯ c

¯ b

¯ b¯ a ¯ b¯ ad cd¯ a¯ b c d ¯ a cd

c

c b cba ¯ dabc ¯ dab ¯ d a

¯ d

¯ d¯ c ¯ d¯ c¯ b ¯ a¯ b¯ c ¯ d ¯ a ¯ b ¯ c ¯ a¯ b

¯ a

¯ a d ¯ a d c bcd¯ a b c d b c

b

ba b a ¯ d ¯ c ¯ dab ¯ c ¯ da ¯ c ¯ d

¯ c

¯ c ¯ b ¯ c ¯ b ¯ a d¯ a¯ b¯ c d¯ a¯ b d¯ a

O

g(O), g ∈ G, denoted as g Dg = g(DO), g ∈ G N = {g ∈ G | Dg ∩ DO = ∅} DN =

  • g∈N

Dg

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 17 / 30

slide-32
SLIDE 32

Implementation Data Structure

Property of DTH (GS)

S ⊂ D input point set s.t. criterion δS < 1

2 sys (M) holds

σ face of DTH (GS) with at least one vertex in D − → σ is contained in DN

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 18 / 30

slide-33
SLIDE 33

Implementation Data Structure

Property of DTH (GS)

S ⊂ D input point set s.t. criterion δS < 1

2 sys (M) holds

σ face of DTH (GS) with at least one vertex in D − → σ is contained in DN

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 18 / 30

slide-34
SLIDE 34

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Each face of DTM (S) has infinitely many pre-images in DTH (GS)

abcd

slide-35
SLIDE 35

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

at least one pre-image with at least one vertex in D

abcd

slide-36
SLIDE 36

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 3 vertices in D

abcd

slide-37
SLIDE 37

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 3 vertices in D

abcd

slide-38
SLIDE 38

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 3 vertices in D

abcd

slide-39
SLIDE 39

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 2 vertices in D

abcd

slide-40
SLIDE 40

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 2 vertices in D

abcd

slide-41
SLIDE 41

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 2 vertices in D

abcd

slide-42
SLIDE 42

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 1 vertex in D

abcd

slide-43
SLIDE 43

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

Case: face with 1 vertex in D

abcd

slide-44
SLIDE 44

Implementation Data Structure

Canonical representative of a face

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 19 / 30

abcd

slide-45
SLIDE 45

Implementation Data Structure

Triangulations ν1v1 p1 p2 p0 ν0v0 , ν2v2 f

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 20 / 30

slide-46
SLIDE 46

Implementation Data Structure

Face of DTM (S)

p q r s

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 21 / 30

slide-47
SLIDE 47

Implementation Data Structure

Face of DTM (S)

p q r s

p q r ν0 = 1 ν1 = a ν2 = a

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 21 / 30

slide-48
SLIDE 48

Implementation Incremental Insertion

Point Location

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 22 / 30

slide-49
SLIDE 49

Implementation Incremental Insertion

Point Location

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 22 / 30

slide-50
SLIDE 50

Implementation Incremental Insertion

Point Location

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 22 / 30

slide-51
SLIDE 51

Implementation Incremental Insertion

Point Location

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 22 / 30

slide-52
SLIDE 52

Implementation Incremental Insertion

Point Insertion

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 23 / 30

“hole” = topological disk

slide-53
SLIDE 53

Implementation Incremental Insertion

Point Insertion

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 23 / 30

“hole” = topological disk

slide-54
SLIDE 54

Implementation Incremental Insertion

Point Insertion

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 23 / 30

Computations

  • n translations

Dehn’s algorithm (slightly modified)

slide-55
SLIDE 55

Implementation Incremental Insertion

Predicates

Orientation (p, q, r) = sign

  • px

py 1 qx qy 1 rx ry 1

  • InCircle (p, q, r, s) = sign
  • px

py p2

x + p2 y

1 qx qy q2

x + q2 y

1 rx ry r 2

x + r 2 y

1 sx sy s2

x + s2 y

1

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 24 / 30

p q r p q r s

slide-56
SLIDE 56

Implementation Incremental Insertion

Predicates

Suppose that the points in S are rational. Input of the predicates can be images of these points under ν ∈ N. gk(z) = αz + eikπ/4√ 2α e−ikπ/4√ 2αz + α, α = 1 + √ 2, k = 0, 1, ..., 7 the Orientation predicate has algebraic degree at most 20 the InCircle predicate has algebraic degree at most 72 Point coordinates represented with CORE::Expr − → (filtered) exact evaluation of predicates

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 25 / 30

slide-57
SLIDE 57

Implementation Results

Demo

Time to see the code in action!

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 26 / 30

slide-58
SLIDE 58

Implementation Results

Experiments

Fully dynamic implementation 1 million random points Euclidean DT (double) ∼ 1 sec. Euclidean DT (CORE::Expr) ∼ 13 sec. Hyperbolic periodic DT (CORE::Expr) ∼ 34 sec.

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 27 / 30

slide-59
SLIDE 59

Implementation Results

Experiments

Fully dynamic implementation 1 million random points Euclidean DT (double) ∼ 1 sec. Euclidean DT (CORE::Expr) ∼ 13 sec. Hyperbolic periodic DT (CORE::Expr) ∼ 34 sec. Predicates 0.76% calls to predicates involving translations in N responsible for 36% of total time spent in predicates Dummy points can be removed after insertion of 17–72 random points.

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 27 / 30

slide-60
SLIDE 60

Future work

Outline

1 Introduction 1.1 Motivation 1.2 The Bolza Surface 1.3 Background from [BTV, SoCG’16] 2 Implementation 2.1 Data Structure 2.2 Incremental Insertion 2.3 Results 3 Future work

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 28 / 30

slide-61
SLIDE 61

Future work

Future work

The goal is to

generalize

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 29 / 30

slide-62
SLIDE 62

Future work

Future work

What: Algorithm for more general genus-2 surfaces Algorithm for surfaces of higher genus How: Pants decomposition & F-N coordinates [Maskit, 2001] Octagonal fundamental domain [Aigon-Dupuy et al., 2005]

ℓ1 ℓ3 ℓ2 ℓ2 ℓ1 ℓ1 ℓ2 ℓ3 ℓ3

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 29 / 30

slide-63
SLIDE 63

Future work

Future work

Issues: Surface representation Fundamental domain – Dirichlet or not? Generalize property of Delaunay triangles [IT17] Condition on something else rather than the systole? Canonical representative Choice of dummy points

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 29 / 30

slide-64
SLIDE 64

The End

The End

Thank you!

Source code and Maple sheets available online:

https://members.loria.fr/Monique.Teillaud/DT_Bolza_SoCG17/

  • I. Iordanov & M. Teillaud

Delaunay triangulations on hyperbolic surfaces 30 / 30