Lecture 1 Discrete Geometric Structures - Inria · Outline 1 Convex Polytopes 2 Voronoi diagrams...
Transcript of Lecture 1 Discrete Geometric Structures - Inria · Outline 1 Convex Polytopes 2 Voronoi diagrams...
Lecture 1Discrete Geometric Structures
Jean-Daniel Boissonnat
Winter School on Computational Geometry and TopologyUniversity of Nice Sophia Antipolis
January 23-27, 2017
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 1 / 47
Outline
1 Convex Polytopes
2 Voronoi diagrams and Delaunay triangulations
3 Weighted Voronoi diagrams
4 Union of balls
5 Discrete metric spaces
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 2 / 47
Convex Polytopes
Two ways of defining convex polytopes
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 3 / 47
Intersection of n half-planes
Input : n half-planes Hi : aix+ biy + ci ≤ 0, i = 1, ..., n
Output : the convex polygon (possibly empty) H =⋂ni=1 Hi
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 4 / 47
Convex hull of n points
Input : n points p1, ..., pn in R2
Output : the convex polygon conv(P ) =∑n
i λipiλi ≥ 0∑n
i λi = 1
Equivalently, conv(P ) is the intersection of the halfplanes that
are bounded by lines passing through 2 points of P
contain all the points of P
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 5 / 47
Space of lines and duality
Duality point/line(non vertical) line h = (x, y) : y = ax− b −→ dual point h∗ = (a, b)
point p = (a, b) −→ dual line p∗ = (x, y) : y = ax− b.
The mapping ∗
is an involution and is thus bijective : h∗∗ = h and p∗∗ = p
preserves incidences :
p = (x, y) ∈ h⇐⇒ y = ax− b⇐⇒ b = xa− y ⇐⇒ h∗ ∈ p∗.
preserves inclusions
p ∈ h+ ⇐⇒ h∗ ∈ p∗+ (h+ = (x, y) : y > ax− b)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 6 / 47
Intersections of halfplanes and convex hulls
Let h1, . . . , hn be n lines and let H = ∩h+i
ss
h1h2 *
h3
h∗3
h∗2
h∗1
A vertex s of H is the intersection point of two lines hi and hjlying above all other lines hk, k 6= i, j
=⇒ s∗ = (h∗ih∗j )
s∗ is a line supporting conv−(h∗i )
From a computational point of view, the two problems are equivalent
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 7 / 47
Facial structure of a polytope
Convex polytopes and duality can be defined in very much the same in anyfixed dimension
Supporting hyperplane h :H ∩ P 6= ∅P on one side of h
Faces : P ∩ h, h supp. hyp.
Dimension of a face :the dim. of its affine hull
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 8 / 47
General position
Points in general position
I P is in general position iff no subset of k + 2 points lie in a k-flat
⇒ any k-face is the convex hull of k + 1 point of P , i.e. a k-simplex
conv(P ) is called a simplicial polytope
Hyperplanes in general position
I H is in general position iff the intersection of any subset of d− khyperplanes intersect in a k-flat
⇒ any k-face is the intersection of d− k hyperplanes⋂H is called a simple polytope
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 9 / 47
1 Convex Polytopes
2 Voronoi diagrams and Delaunay triangulations
3 Weighted Voronoi diagrams
4 Union of balls
5 Discrete metric spaces
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 10 / 47
Voronoi diagrams in nature
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 11 / 47
The solar system (Descartes)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 12 / 47
Growth of merystem
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 13 / 47
Euclidean Voronoi diagrams
Voronoi cell V (pi) = x : ‖x− pi‖ ≤ ‖x− pj‖, ∀j
Voronoi diagram (P ) = collection of all cells V (pi), pi ∈ P
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 14 / 47
Voronoi diagrams and convex polyhedra
Convex PolyhedronThe intersection of a finite collection of half-spaces : V =
⋂i∈I h
+i
Each Voronoi cell is a convex polyhedron
The Voronoi diagram has the structure of a cell complex: two cellseither do not intersect or intersect in a common face
The Voronoi diagram of P is the projection of a convex polyhedron ofRd+1
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 15 / 47
Voronoi diagrams and convex polyhedra
Vor(p1, . . . , pn) is the minimization diagramof the n functions δi(x) = (x− pi)2
argmin(δi) = argmax(hi)where hpi(x) = 2 pi · x− p2i
The minimization diagram of the δi is alsothe maximization diagram of the affinefunctions hpi(x)
The faces of Vor(P ) are the projections ofthe faces of V(P ) =
⋂i h
+pi
h+pi = x : xd+1 > 2pi · x− p2i
pi
z = (x− pi)2
Note !
the graph of hpi(x) is the hyperplane tangentto Q : xd+1 = x2 at (x, x2)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 16 / 47
Voronoi diagrams and convex polyhedra
Lifting mapThe faces of Vor(P ) are the projection of the faces of the polytope
V(P ) =⋂i h
+pi
where hpi is the hyperplane tangent to paraboloid Q at the liftedpoint (pi, p
2i )
CorollariesI The size of Vor(P) is the same as the size of V(P )
I Computing Vor(P) reduces to computing V(P )
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 17 / 47
Voronoi diagram and Delaunay complex
Finite set of points P ∈ Rd
The Delaunay complex is the nerve of the Voronoi diagram
It is not always embedded in Rd
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 18 / 47
Empty circumballs
An (open) d-ball B circumscribing asimplex σ ⊂ P is called empty if
1 vert(σ) ⊂ ∂B2 B ∩ P = ∅
Del(P) is the collection of simplicesadmitting an empty circumball
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 19 / 47
Point sets in general position wrt spheres
P = p1, p2 . . . pn is said to be in general position wrt spheres if6 ∃ d+ 2 points of P lying on a same (d− 1)-sphere
Theorem [Delaunay 1936]
If P is in general position wrt spheres, Del(P ) has a natural realization inRd called the Delaunay triangulation of P .
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 20 / 47
Proof of Delaunay’s theorem 1
σ
h(σ)
PLinearization
S(x) = x2 − 2c · x+ s, s = c2 − r2
S(x) < 0 ⇔z < 2c · x− s (h−S )z = x2 (P)
⇔ x = (x, x2) ∈ h−S
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 21 / 47
Proof of Delaunay’s theorem 2
Proof of Delaunay’s th.
P general position wrt spheres⇔ P in general position
σ a simplex, Sσ its circumscribing sphere
σ ∈ Del(P ) ⇔ Sσ empty
⇔ ∀i, pi ∈ h+Sσ
⇔ σ is a face of conv−(P )
Del(P ) = proj(conv−(P ))
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 22 / 47
VD and DT in the space of spheres
hpi : xd+1 = 2pi · x− p2i pi = (pi, p
2i ) = h∗pi
V(P ) = h+p1 ∩ . . . ∩ h+pnduality−→ D(P ) = conv−(p1, . . . , pn)
↑ ↓Voronoi Diagram of P
nerve−→ Delaunay Complex of P
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 23 / 47
Voronoi diagrams, Delaunay triangulations and polytopes
If P is in general position wrt spheres :
V(P ) = h+p1 ∩ . . . ∩ h+
pn
duality−→ D(P ) = conv−(p1, . . . , pn)
↑ ↓
Voronoi Diagram of Pnerve−→ Delaunay Complex of P
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 24 / 47
1 Convex Polytopes
2 Voronoi diagrams and Delaunay triangulations
3 Weighted Voronoi diagrams
4 Union of balls
5 Discrete metric spaces
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 25 / 47
Foams, molecules and weighted Voronoi diagrams
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 26 / 47
Weighted Voronoi (or Power or Laguerre) Diagrams
Sites : n balls B = bi(pi, ri), i = 1, . . . nPower distance: π(x, bi) = (x− pi)2 − r2iIt is not a distance
Power Diagram: Vor(B)One cell V (bi) for each siteV (bi) = x : π(x, bi) ≤ π(x, bj).∀j 6= i
Each cell is a convex polyhedron
V (bi) may be empty
pi may not belong to V (bi)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 27 / 47
Power diagrams are maximization diagrams
Cell of bi in the weighed Voronoi diagram Vor(B)
V (bi) = x ∈ Rd : π(x, bi) ≤ π(x, bj).∀j 6= i
= x ∈ Rd : 2pix− si = maxj∈[1,...n]2pjx− sjσ
h(σ)
P
Vor(B) is the maximization diagram of the set of affine functions
hi(x) = 2pix− si, i = 1, . . . , n
Geometrically : the vertical projection of P ∩ h−i is the ball bi
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 28 / 47
Weighted Delaunay triangulations
B = bi(pi, ri) a set of balls
Del(B) = nerve of Vor(B)
Let Bτ = bi(pi, ri), i = 0, . . . k ⊂ B :
Bτ ∈ Del(B)⇐⇒ ⋂bi∈Bτ V (bi) 6= ∅
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 29 / 47
Weighted VD and DT in the space of spheres
hbi : xd+1 = 2pi · x− p2i + r2
i φ(bi) = (pi, p2i − r2
i ) = h∗bi
V(B) = h+b1 ∩ . . . ∩ h+bn
duality−→ D(B) = conv−(φ(b1), . . . , φ(bn))↑ ↓
Voronoi Diagram of Bnerve−→ Delaunay Complex of B
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 30 / 47
1 Convex Polytopes
2 Voronoi diagrams and Delaunay triangulations
3 Weighted Voronoi diagrams
4 Union of balls
5 Discrete metric spaces
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 31 / 47
Union of balls
What is the combinatorial complexity of the boundary of the union Uof n balls of Rd ?
Compare with the complexity of the arrangement of the boundinghyperspheres
How can we compute U ?
What is the image of U in the space of spheres ?
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 32 / 47
Weighted Voronoi Diagram
σi(x) = (x− pi)2 − r2i
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 33 / 47
Restriction of Del(B) to U =⋃b∈B b
U =⋃b∈B b ∩ V (b) and ∂U ∩ ∂b = V (b) ∩ ∂b.
The nerve of C is the restriction of Del(B) to U , i.e. the subcomplexDel|U (B) of Del(B) whose faces have a circumcenter in U
∀b, b ∩ V (b) is convex and thus contractible
C = b ∩ V (b), b ∈ B is a good cover of U
The nerve of C is a deformation retract of Uhomotopy equivalent (Nerve theorem)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 34 / 47
Interfaces between proteins [Cazals & Janin 2006]
Interface antigen-antibody
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 35 / 47
Fonctions distance et modeles de croissance
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 36 / 47
Mobius Diagrams
Wi = (pi, λi, µi)
δM (x,Wi) = λi‖x− pi‖2 − µibisectors are hyperspheres(hyperplanes or ∅)
Mob(Wi) = x, δ(x, σi) ≤ δ(x, σj)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 37 / 47
Linearization Lemma
We can associate to each weighted point Wi
a hypersphere Σi of Rd+1 so that
the faces of the Mobius diagram of the Wi are obtained by
1 computing the Laguerre Diagram of the Σi
2 intersecting this diagram with the paraboloid P3 projecting vertically the faces of this intersection onto Rd
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 38 / 47
Proof
λi(x− pi)2 − µi ≤ λj(x− pj)2 − µj
⇐⇒ (x− λipi)2 + (x2 + λi2 )2 − λ2
i p2i −
λ2i4 + λip
2i − µi
≤ (x− λjpj)2 + (x2 +λj2 )2 − λ2
jp2j −
λ2j4 + λjp
2j − µj
⇐⇒ (X − Ci)2 − ρ2i ≤ (X − Cj)2 − ρ2
j
where X = (x, x2) ∈ Rd+1,
Ci = (λipi,−λi2 ) ∈ Rd+1 and ρ2
i = λ2i p
2i +
λ2i4 − λip2
i + µi
The Mobius diagram of the doubly weighted points Wi is the projectiononto Rd of the restriction to the paraboloid Q of the Laguerre diagram ofthe Σi = B(Ci, ρi)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 39 / 47
1 Convex Polytopes
2 Voronoi diagrams and Delaunay triangulations
3 Weighted Voronoi diagrams
4 Union of balls
5 Discrete metric spaces
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 40 / 47
Discrete metric spaces : Witness Complex [de Silva]
L a finite set of points (landmarks) vertices of the complexW a dense sample (witnesses) pseudo circumcenters
The Witness ComplexWit(L, W )
w
Definition
2 Wit(L, W )()
8 9w 2 W withd(w, p) d(w, q)
8p 2 8q 2 L \
L : Landmarks (black dots); the vertices of the complexW : Witnesses (blue dots)
R. Dyer (INRIA) Del(L, M) = Wit(L, W ) Assisi, EuroCG 2012 2 / 10
Let σ be a (abstract) simplex with vertices in L, and let w ∈W . We saythat w is a witness of σ if
‖w − p‖ ≤ ‖w − q‖ ∀p ∈ σ and ∀q ∈ L \ σ
The witness complex Wit(L,W ) is the complex consisting of all simplexes σsuch that for any simplex τ ⊆ σ, τ has a witness in W
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 41 / 47
Easy consequences of the definition
The witness complex can be defined for any metric space and, inparticular, for discrete metric spaces
If W ′ ⊆W , then Wit(L,W ′) ⊆Wit(L,W )
Del(L) ⊆Wit(L,Rd)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 42 / 47
Identity of Del|Ω(L) and Wit(L,Rd) [de Silva 2008]
Theorem : Wit(L,W ) ⊆Wit(L,Rd) = Del(L)
Remarks
I Faces of all dimensions have to be witnessed
I Wit(L,W ) is embedded in Rd if L is in general position wrt spheres
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 43 / 47
Proof of de Silva’s theorem
τ = [p0, ..., pk] is a k-simplex of Wit(L) witnessed by a ball Bτ (i.e. Bτ ∩ L = τ)We prove that τ ∈ Del(L) by induction on k
Clearly true for k = 0
Bσ
c
w
Bτ
τ
σ
Hyp. : true for k′ ≤ k − 1
B := Bτ
σ := ∂B ∩ τ , l := |σ|
// σ ∈ Del(L) by the hyp.
while l + 1 = dimσ < k do
B ← the ball centered on [cw] s.t.
- σ ⊂ ∂B,
- B witnesses τ
- |∂B ∩ τ | = l + 1
(B witnesses τ) ∧ (τ ⊂ ∂B) ⇒ τ ∈ Del(L)
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 44 / 47
Case of sampled domains : Wit(L,W ) 6= Del(L)
W a finite set of points ⊂ Ω ⊂ Rd
Wit(L,W ) 6= Del(L), even if W is a dense sample of Ω
ab
Vor(a, b)
[ab] ∈Wit(L,W ) ⇔ ∃p ∈W, Vor2(a, b) ∩W 6= ∅
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 45 / 47
Relaxed witness complex
Alpha-witness Let σ be a simplex with vertices in L. We say that a pointw ∈W is an α-witness of σ if
‖w − p‖ ≤ ‖w − q‖+ α ∀p ∈ σ and ∀q ∈ L \ σ
Alpha-relaxed witness complex The α-relaxed witness complexWitα(L,W ) is the maximal simplicial complex with vertex set L whosesimplices have an α-witness in W
Wit0(L,W ) = Wit(L,W )
Filtration : α ≤ β ⇒ Witα(L,W ) ⊆Witβ(L,W )
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 46 / 47
Interleaving complexes
Lemma Assume that W is ε-dense in Ω and let α ≥ 2ε. Then
Wit(L,W ) ⊆ Del|Ω(L) ⊆Witα(L,W )
Proofσ : a d-simplex of Del(L), cσ its circumcenterW ε-dense in Ω ∃w ∈W s.t. ‖cσ − w‖ ≤ εFor any p ∈ σ and q ∈ L \ σ, we then have
∀p ∈ σ and q ∈ L \ σ ‖w − p‖ ≤ ‖cσ − p‖+ ‖cσ − w‖≤ ‖cσ − q‖+ ‖cσ − w‖≤ ‖w − q‖+ 2‖cσ − w‖≤ ‖w − q‖+ 2ε
Computational Geometry and Topology Discrete Geometric Structures J-D. Boissonnat 47 / 47