voronoi with obstacles, delaunay constrained triangulation...

Post on 27-Jul-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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.

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.

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}

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility Polygon

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility Polygon

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility Polygon

p2

p1

p

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).

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility Graph

p2

p1

p

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.

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Finding Shortest Path using Visibility Graph

p2

p1

p

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

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‖}

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‖}

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

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.

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.

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

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

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

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.

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

An Example

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

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.

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Visibility

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.

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Removing Triangles

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.

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

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.

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?)

Shortest-path Voronoi Diagram Visibility Shortest-path Voronoi Diagram Constrained Delaunay Triangulation Delaunay Tetrahedralization Summary

Properties

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.

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.

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).

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

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

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.

top related