Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical...

61
Implementing Delaunay triangulations of the Bolza surface Iordan Iordanov Monique Teillaud 33rd International Symposium on Computational Geometry Brisbane, Australia I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 1 / 32

Transcript of Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical...

Page 1: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Implementing Delaunay triangulationsof the Bolza surface

Iordan Iordanov Monique Teillaud

33rd International Symposium on Computational GeometryBrisbane, Australia

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 1 / 32

Page 2: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 2 / 32

Page 3: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 3 / 32

Page 4: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

MotivationPeriodic triangulations in the Euclidean plane

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 4 / 32

Page 5: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

MotivationPeriodic triangulations in the hyperbolic plane

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 4 / 32

Page 6: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

MotivationApplications

[Sausset, Tarjus, Viot]

6.4. Computation of hyperbolic planforms 103

(a) χ1 : G, the corresponding eigenvalue

is λ = 23.0790.

(b) χ2 : G0κ, the corresponding eigen-

value is λ = 91.4865.

(c) χ3 : G0κ� , the corresponding eigen-

value is λ = 32.6757.

(d) χ4 : G, the corresponding eigenvalue

is λ = 222.5434.

Figure 6.7: The four H-planforms with their corresponding eigenvalue associated

with the four irreducible representations of dimension 1, see text.

[Chossat, Faye, Faugeras]

(a)

(b) 5 segments (c) 50 segments

(d) 200 segments (e) 500 segments

Fig. 13. The regular octagon with opposite sides identified is the fundamental domain of a compact surface of constant negative curvature withgenus 2. These figures show the trajectories of a particular point starting from the origin of the Poincaré discwith an angular deviationof iO~froma closed periodic trajectory. Figure (a) shows the trajectory running through the tessellation; fig. (b) shows the trajectory through the first fivedomains broken into five segments and plotted in the fundamental domain; figs. (c), (d) and (e) show the evolution through 50, 200, 500 segments.(The seeming concentration of the trajectories at the corners disappears ifwe measure the areas in the correct non-Euclidean metric, since theseeming size of a patch also decreases as we shift the patch toward the boundary.)

136

[Balazs, Voros]

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 5 / 32

Page 7: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

MotivationBeautiful groups

Fuchsian groupsfinitely presented groupstriangle groups. . .

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 6 / 32

Page 8: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Introduction

State of the art

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

Software (square/cubic flat torus) 2D [Kruithof], 3D [Caroli, Teillaud]

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

Software (Bolza surface) [this paper]

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 7 / 32

Page 9: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 8 / 32

Page 10: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Poincaré model of the hyperbolic plane H2

H∞

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 9 / 32

Page 11: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Hyperbolic translations

p a(p)

qa(q)

Xa`(a)

> `(a)

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 9 / 32

special caseaxis = diameter

Page 12: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Hyperbolic translations

q

Xa

ba(q)

ab(q)

Xb

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 9 / 32

non-commutative!

Page 13: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

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 Triangulations of the Bolza surface SoCG 2017 10 / 32

Page 14: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

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 Triangulations of the Bolza surface SoCG 2017 11 / 32

Page 15: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

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 →MA =

[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 Triangulations of the Bolza surface SoCG 2017 11 / 32

Page 16: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Bolza surface

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 12 / 32

a

b

c

d

a

b

c

d

O

a

b

c

d

a

b

c

d

O

Page 17: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Hyperbolic octagon

Voronoi diagram of GO

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 13 / 32

Page 18: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Hyperbolic octagon

Fundamental domain DO = Dirichlet region of O

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 13 / 32

Page 19: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

The Bolza Surface

Hyperbolic octagon

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

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 13 / 32

Page 20: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 14 / 32

Page 21: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of anon-contractible loop onM

S set of points in DO ⊂ H2

δS = diameter of largest disks in H2

not containing any point of GS

δS <12 sys (M)

=⇒ πM( DTH (GS) ) = DTM (S)is a simplicial complex

=⇒ The usual incremental algorithmcan be used [Bowyer]

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 15 / 32

Page 22: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of anon-contractible loop onM

S set of points in H2

δS = diameter of largest disks in H2

not containing any point of GS

δS <12 sys (M)

=⇒ πM( DTH (GS) ) = DTM (S)is a simplicial complex

=⇒ The usual incremental algorithmcan be used [Bowyer]

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 15 / 32

Page 23: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Criterion

Systole sys (M) = minimum length of anon-contractible loop onM

S set of points in H2

δS = diameter of largest disks in H2

not containing any point of GS

δS <12 sys (M)

=⇒ πM( DTH (GS) ) = DTM (S)is a simplicial complex

=⇒ The usual incremental algorithmcan be used [Bowyer]

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 15 / 32

Page 24: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Systole on the octagon

︸ ︷︷ ︸sys(M)

12sys(M)︷ ︸︸ ︷

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 16 / 32

Page 25: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Set of dummy points

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 16 / 32

Page 26: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Set of dummy points vs. criterion

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 16 / 32

Page 27: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Delaunay triangulation of the dummy points

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 16 / 32

Page 28: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Background from [BTV, SoCG’16]

Delaunay triangulation of the Bolza surface

Algorithm:1 initialize with dummy points2 insert points in S3 remove dummy points

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 16 / 32

Page 29: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 17 / 32

Page 30: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Notation

ddcdcb

abcd

abcab

a

adadcbcd

abcdbc

b

babadcdabcda

cd

c

cbcba

dabcdabda

ddcdcbabcdabcab

a

ad

adc

bcda

bcdbc b

babad

cdab

cda

cd

c

cbcbadabcdabda

O

g(O), g ∈ G, denoted as g

Dg = g(DO), g ∈ G

N = {g ∈ G | Dg ∩ DO 6= ∅}

DN =⋃

g∈NDg

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 18 / 32

Page 31: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Property of DTH (GS)

S ⊂ D input point sets.t. criterion δS <

12 sys (M) holds

σ face of DTH (GS) with at least onevertex in D

−→ σ is contained in DN

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 19 / 32

Page 32: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

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

abcd

Page 33: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

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

abcd

Page 34: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 3 vertices in D

abcd

Page 35: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 3 vertices in D

abcd

Page 36: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 3 vertices in D

abcd

Page 37: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 2 vertices in D

abcd

Page 38: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 2 vertices in D

abcd

Page 39: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 2 vertices in D

abcd

Page 40: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 1 vertex in D

abcd

Page 41: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

Case: face with 1 vertex in D

abcd

Page 42: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Canonical representative of a face

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 20 / 32

abcd

Page 43: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Triangulations

ν1v1p1p2

p0ν0v0

, ν2v2

f

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 21 / 32

Page 44: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Face of DTM (S)

pq

r

s

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 22 / 32

Page 45: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Data Structure

Face of DTM (S)

pq

r

spq

r

ν0 = 1 ν1 = a

ν2 =a

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 22 / 32

Page 46: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 23 / 32

Page 47: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Location

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 24 / 32

Page 48: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Location

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 24 / 32

Page 49: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Location

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 24 / 32

Page 50: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Location

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 24 / 32

Page 51: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Insertion

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 25 / 32

“hole” = topological disk

Page 52: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Insertion

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 25 / 32

“hole” = topological disk

Page 53: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Point Insertion

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 25 / 32

Computationson translations

Dehn’s algorithm(slightly modified)

Page 54: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Incremental Insertion

Predicates

Orientation (p, q, r) = sign

∣∣∣∣∣∣∣px py 1qx qy 1rx ry 1

∣∣∣∣∣∣∣

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

∣∣∣∣∣∣∣∣∣px py p2

x + p2y 1

qx qy q2x + q2

y 1rx ry r2

x + r2y 1

sx sy s2x + s2

y 1

∣∣∣∣∣∣∣∣∣

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 26 / 32

p

qr

p

qr

s

Page 55: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

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 20the InCircle predicate has algebraic degree at most 72

Point coordinates represented with CORE::Expr−→ (filtered) exact evaluation of predicates

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 27 / 32

Page 56: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Results

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 28 / 32

Page 57: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Results

Experiments

Fully dynamic implementation

1 million random pointsEuclidean DT (double) ∼ 1 sec.Euclidean DT (CORE::Expr) ∼ 13 sec.

Hyperbolic periodic DT (CORE::Expr) ∼ 34 sec.

Predicates0.76% calls to predicates involving translations in Nresponsible for 36% of total time spent in predicates

Dummy points can be removed after insertion of 17–72 random points.

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 29 / 32

Page 58: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Results

Experiments

Fully dynamic implementation

1 million random pointsEuclidean DT (double) ∼ 1 sec.Euclidean DT (CORE::Expr) ∼ 13 sec.

Hyperbolic periodic DT (CORE::Expr) ∼ 34 sec.

Predicates0.76% calls to predicates involving translations in Nresponsible for 36% of total time spent in predicates

Dummy points can be removed after insertion of 17–72 random points.

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 29 / 32

Page 59: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Future work

Outline

1 Introduction

2 The Bolza Surface

3 Background from [BTV, SoCG’16]

4 Data Structure

5 Incremental Insertion

6 Results

7 Future work

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 30 / 32

Page 60: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

Future work

Future work

Implement 2D periodic hyperbolic meshAlgorithm for:

More general genus-2 surfacesSurfaces of genus > 2

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 31 / 32

Page 61: Implementing Delaunay triangulations of the Bolza surface · abcd. Data Structure Canonical representative of a face I. Iordanov & M. Teillaud Triangulations of the Bolza surface

End

Thank You!

Source code and Maple sheets available online:https://members.loria.fr/Monique.Teillaud/DT_Bolza_SoCG17/

I. Iordanov & M. Teillaud Triangulations of the Bolza surface SoCG 2017 32 / 32