Page 1
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Voronoi with Obstacles, Delaunay ConstrainedTriangulation and Delaunay 3D
Marc Comino Trinidad
December 13, 2014
Page 2
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 3
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of Contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 4
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Outline
• Let P = {pi}, i ∈ 1..n, pi ∈ R2, n ∈ [2,∞) be a set of generatorpoints.
• Let O = {Oi}, i ∈ 1.no , no ∈ [1..∞) be a set of closed regions wewill call obstacles.
Page 5
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Assumptions
• Obstacles are non-transparent, non-traversable, do not overlapeach-other, are connected and do not have holes.
• Points of P are not allowed to be located inside the obstacles.
• Furthermore, the obstacles are polygons.
Page 6
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Shortest-path (geodesic) distance: length of the shortestcontinuous path connecting a point p and a point pi ∈ P that doesnot intersect any obstacle. We denote it as dsp(p, pi ).
• Visibility polygon:
VIS(pi ) = {p|pip ∩ OJ = ∅, j ∈ 1..n0, p ∈ R2}
Page 7
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility Polygon
Page 8
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility Polygon
Page 9
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility Polygon
p2
p1
p
Page 10
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Geometric Graph: A geometric graph is a graph that can berepresent with a set geometric points and a set geometric linesconnecting these points. We denote it as G (Q, L).
• Let Lvis be the set {qiqj |qj ∈ Vis(qi ), i < j , j ∈ 1..n}.• A Visibility Graph on G (Q, L) is defined as G (Q, Lvis).
Page 11
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility Graph
p2
p1
p
Page 12
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Finding Shortest Path using Visibility Graph
1. Let Q = {p, pi , v(O)}, L = e(O).
2. Build G (Q, Lvis) from G (Q, L).
3. Find shortest path between p and pi in G (Q, L) using Dijkstra orsimilar.
Page 13
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Finding Shortest Path using Visibility Graph
p2
p1
p
Page 14
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Shortest-path Voronoi Region:
V (pi ) = {p|dsp(p, pi ) ≤ dsp(p, pj), j ∈ 1..n}
• Shortest-path (geodesic) Voronoi Diagram:
Vsp(P,O, dsp,R2) = {V (pi )}, i ∈ 1..n
Page 15
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Voronoi Regions Bisector
p2
p1
b(p1, p2) = {x | ‖x − p1‖ = ‖x − p2‖}
Page 16
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Voronoi Regions Bisector
p2
p1
q
b(p1, p2) = {x | ‖x − q‖+ ‖q − p1‖ = ‖x − p2‖}
Page 17
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of Contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 18
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Outline
• Let P = {pi}, i ∈ 1..n, pi ∈ R2, n ∈ [2,∞) be a set of generatorpoints.
• Let O = {Oi}, i ∈ 1..no , no ∈ [1..∞) be a set of line segments wewill call obstacles.
Page 19
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Assumptions
• Obstacles do not intersect each-other.
• The end points of the line segments O are all generator points in P.
Page 20
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 21
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 22
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Visibility Shortest-path distance:
dvsp(p, pi )
{‖x − xi‖ if pi ∈ VIS(p),∞ otherwise
• Visibility Shortest-path Voronoi Region:
V (pi ) = {p|dvsp(p, pi ) ≤ dvsp(p, pj), j ∈ 1..n}
• Visibility Shortest-path Voronoi Diagram:
Vvsp(P,O, dvsp,R2) = {V (pi )}, i ∈ 1..n
Page 23
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 24
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 25
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 26
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 27
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Properties
• A Visibility Shortest-Path Voronoi region may be non-convex.
• A point on an edge on a Vvsp may not be equally distant from twoor more points.
• The dual of the Vvsp is NOT a constrained Delaunay triangulation.
• The dual of the Vvsp is a subgraph of the corresponding constrainedDelaunay triangulation.
Page 28
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 29
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 30
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 31
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
An Example
Page 32
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of Contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 33
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Constrained Delaunay Triangulation: Let G (Po , Lo) be a planarstraight-line graph representing obstacles and Q a set of points. Theconstrained Delaunay triangulation is a triangulation spanningP = Po ∪ Q satisfying the condition that the cirumcircle of eachtriangle does not contain in its interior any other vertex which isvisible from the vertices of the triangle.
Page 34
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility
Page 35
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility
Page 36
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Visibility
Page 37
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Algorithms
1. Processing points and constraints together:
1.1 Divide and Conquer by P. Chew[Chew(1989)].1.2 Incremental by Floriani et al.[De Floriani and Puppo(1992)].
2. Processing points and constraints separately:
2.1 Removing triangles pierced by a constraint and re-triangulating.2.2 Flipping edges until integrating the constraint.
Page 38
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 39
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 40
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 41
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 42
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 43
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 44
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 45
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 46
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing triangles
Page 47
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 48
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 49
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 50
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 51
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 52
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 53
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 54
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 55
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 56
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 57
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 58
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 59
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles
Page 60
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Removing Triangles Proof
1. The constrained edge must be an edge in the new CDT.
2. The removed edges can not belong to the new CDT because weneed it to be a planar graph.
3. The remaining edges belonged to the previous CDT and thereforefulfil the empty circumcircle condition.
4. The new CDT can not contain edges crossing from the upper to thelower polygon since the new constraining edge prevent their visibility.
5. In consequence, the new CDT can be obtained by making aDelaunay triangulation of the upper and lower polygons.
6. By construction, (5) is guaranteed.
Page 61
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of Contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 62
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Definitions
• Let V(P) be a Voronoi diagram generated byP = {pi} ∈ Rm,m + 1 ≤ n ≤ ∞, where the generators points arenon-collinear.
• Let Q = {qi}, i ∈ 1..nv be the set of Voronoi vertices in V(P).
• Let F (qi ) be the set of pj that generate the faces sharing qi .
• Let CHi be the convex hull of the vertices in F (qi ).
• We call m-dimensional Delaunay Tessellation to the setD(P) = {CHi}, i ∈ 1..nv .
• We call Delaunay Tetrahedralization to the 3-dimensional DelaunayTesselation.
Page 63
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Properties
• The number of tetrahedra spanning n generator points is of theorder n2.
• Whilst Delaunay triangulation tends to avoid elongated and thintriangles as much as possible, this is not always true in 3D.
• There might not be a tetrahedral tessellation that satisfies a givenconstrain.
• There is no know algorithm that judges in polynomial time whethera given constrain admits a tetrahedralization. (This was back in2000, Vera do you know anything more recent?)
Page 64
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Properties
Page 65
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Algorithm
• Unified approach to constructing d-dimensional Voronoi Diagrams:Solve the convex hull problem in d + 1.
Page 66
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Algorithm
1. For every pi = {x1, x2, ..., xd} ∈ P:
pi = {x1, x2, ..., xd} 7→ p∗i = {x1, x2, ..., xd , x21 + x22 + ... + x2d}
2. Build CH({p∗i }) using any algorithm in the literature.
3. Project all lower faces of CH({p∗i}) in the direction parallel to the(d + 1)st coordinates axis, onto the original d-dimensional space.
Page 67
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Algorithm
• Gift wraping O(nbd/2c+1).
• Incremental O(nb(d+1)/2c + n log n).
• Shelling O(nbd/2c log n).
• Divide and Conquer O(nbd/2c + n log n).
• 3D Voronoi diagram can be built in O(n2).
Page 68
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Table of Contents
Shortest-path Voronoi Diagram
Visibility Shortest-path Voronoi Diagram
Constrained Delaunay Triangulation
Delaunay Tetrahedralization
Summary
Page 69
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
CGAL
“Never implement a geometric algorithm before checking if CGAL has it!It is a reliable and efficient sofware!”
V. Sacristan (2014)
CGAL 4.5 - 2D Triangulationhttp://doc.cgal.org/latest/Triangulation_2/index.html#
Section_2D_Triangulations_Constrained
CGAL 4.5 - 3D Triangulationshttp://doc.cgal.org/latest/Triangulation_3/index.html
Page 70
Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary
Links and References
L Paul Chew.Constrained delaunay triangulations.Algorithmica, 4(1-4):97–108, 1989.
L. De Floriani and E. Puppo.An on-line algorithm for constrained delaunay triangulation.CVGIP: Graph. Models Image Process., 54(4):290–300, July 1992.ISSN 1049-9652.doi: 10.1016/1049-9652(92)90076-A.URL http://dx.doi.org/10.1016/1049-9652(92)90076-A.
Atsuyuki Okabe, Barry Boots, Kokichi Sugihara, and Sung NokChiu.Spatial tessellations: concepts and applications of Voronoi diagrams,volume 501.John Wiley & Sons, 2009.