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
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
Iordan Iordanov Monique Teillaud
25 September 2017 Nancy, France
Delaunay triangulations on hyperbolic surfaces 1 / 30
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
Delaunay triangulations on hyperbolic surfaces 2 / 30
Introduction
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
Delaunay triangulations on hyperbolic surfaces 3 / 30
Introduction Motivation
Periodic triangulations in the Euclidean plane
Delaunay triangulations on hyperbolic surfaces 4 / 30
Introduction Motivation
Periodic triangulations in the hyperbolic plane
Delaunay triangulations on hyperbolic surfaces 4 / 30
Introduction Motivation
Applications
[Sausset, Tarjus, Viot] [Chossat, Faye, Faugeras]
(d)
200 segments
[Balazs, Voros]
Delaunay triangulations on hyperbolic surfaces 5 / 30
Introduction Motivation
Beautiful groups
Fuchsian groups finitely presented groups triangle groups . . .
Delaunay triangulations on hyperbolic surfaces 6 / 30
Introduction Motivation
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]
Delaunay triangulations on hyperbolic surfaces 7 / 30
Introduction The Bolza Surface
H∞
Delaunay triangulations on hyperbolic surfaces 8 / 30
Introduction The Bolza Surface
Delaunay triangulations on hyperbolic surfaces 8 / 30
special case axis = diameter
Introduction The Bolza Surface
Delaunay triangulations on hyperbolic surfaces 8 / 30
non-commutative!
Introduction The 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.
Delaunay triangulations on hyperbolic surfaces 9 / 30
Introduction The Bolza Surface
a ¯ b c ¯ d ¯ a b ¯ c d O
Fuchsian group G with finite presentation G =
Bolza surface M = H2/G with projection map πM : H2 → M
Delaunay triangulations on hyperbolic surfaces 10 / 30
Introduction The Bolza Surface
a ¯ b c ¯ d ¯ a b ¯ c d O
Fuchsian group G with finite presentation G =
Bolza surface M = H2/G with projection map πM : H2 → M A =
g0, g1, ..., g7
βk βk α
gk(z) = αz+βk
βkz+α,
α = 1 + √ 2, βk = eikπ/4√ 2α
Delaunay triangulations on hyperbolic surfaces 10 / 30
Introduction The Bolza Surface
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
Introduction The Bolza Surface
Voronoi diagram of GO
Delaunay triangulations on hyperbolic surfaces 12 / 30
Introduction The Bolza Surface
Fundamental domain DO = Dirichlet region of O
Delaunay triangulations on hyperbolic surfaces 12 / 30
Introduction The Bolza Surface
“Original” domain D: contains exactly one point of each orbit
Delaunay triangulations on hyperbolic surfaces 12 / 30
Introduction Background from [BTV, SoCG’16]
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]
Delaunay triangulations on hyperbolic surfaces 13 / 30
Introduction Background from [BTV, SoCG’16]
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]
Delaunay triangulations on hyperbolic surfaces 13 / 30
Introduction Background from [BTV, SoCG’16]
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]
Delaunay triangulations on hyperbolic surfaces 13 / 30
Introduction Background from [BTV, SoCG’16]
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]
Delaunay triangulations on hyperbolic surfaces 14 / 30
Introduction Background from [BTV, SoCG’16]
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
Delaunay triangulations on hyperbolic surfaces 14 / 30
Introduction Background from [BTV, SoCG’16]
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.
Delaunay triangulations on hyperbolic surfaces 14 / 30
Introduction Background from [BTV, SoCG’16]
1 2sys(M)
Delaunay triangulations on hyperbolic surfaces 15 / 30
Introduction Background from [BTV, SoCG’16]
Delaunay triangulations on hyperbolic surfaces 15 / 30
Introduction Background from [BTV, SoCG’16]
Delaunay triangulations on hyperbolic surfaces 15 / 30
Introduction Background from [BTV, SoCG’16]
Delaunay triangulations on hyperbolic surfaces 15 / 30
Introduction Background from [BTV, SoCG’16]
Algorithm:
1 initialize with dummy points 2 insert points in S 3 remove dummy points
Delaunay triangulations on hyperbolic surfaces 15 / 30
Implementation
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
Delaunay triangulations on hyperbolic surfaces 16 / 30
Implementation Data Structure
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 =
Dg
Delaunay triangulations on hyperbolic surfaces 17 / 30
Implementation Data Structure
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
Delaunay triangulations on hyperbolic surfaces 18 / 30
Implementation Data Structure
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
Delaunay triangulations on hyperbolic surfaces 18 / 30
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Each face of DTM (S) has infinitely many pre-images in DTH (GS)
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
at least one pre-image with at least one vertex in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 3 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 3 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 3 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 2 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 2 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 2 vertices in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 1 vertex in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
Case: face with 1 vertex in D
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 19 / 30
abcd
Implementation Data Structure
Delaunay triangulations on hyperbolic surfaces 20 / 30
Implementation Data Structure
p q r s
Delaunay triangulations on hyperbolic surfaces 21 / 30
Implementation Data Structure
p q r s
Delaunay triangulations on hyperbolic surfaces 21 / 30
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 22 / 30
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 22 / 30
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 22 / 30
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 22 / 30
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 23 / 30
“hole” = topological disk
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 23 / 30
“hole” = topological disk
Implementation Incremental Insertion
Delaunay triangulations on hyperbolic surfaces 23 / 30
Computations
Dehn’s algorithm (slightly modified)
Implementation Incremental Insertion
Orientation (p, q, r) = sign
py 1 qx qy 1 rx ry 1
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
Delaunay triangulations on hyperbolic surfaces 24 / 30
Implementation Incremental Insertion
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
Delaunay triangulations on hyperbolic surfaces 25 / 30
Implementation Results
Time to see the code in action!
Delaunay triangulations on hyperbolic surfaces 26 / 30
Implementation Results
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.
Delaunay triangulations on hyperbolic surfaces 27 / 30
Implementation Results
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.
Delaunay triangulations on hyperbolic surfaces 27 / 30
Future work
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
Delaunay triangulations on hyperbolic surfaces 28 / 30
Future work
The goal is to
Delaunay triangulations on hyperbolic surfaces 29 / 30
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
Delaunay triangulations on hyperbolic surfaces 29 / 30
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
Delaunay triangulations on hyperbolic surfaces 29 / 30
The End
Source code and Maple sheets available online:
https://members.loria.fr/Monique.Teillaud/DT_Bolza_SoCG17/
Delaunay triangulations on hyperbolic surfaces 30 / 30