Computational Geometry: Delaunay Triangulations and...

19
DIMAp – UFRN [email protected] Prof. Marcelo Ferreira Siqueira Summer School on Computational Geometry - 2013, IMPA, Rio de Janeiro, RJ, Brazil Lecture 3 Computational Geometry: Delaunay Triangulations and Voronoi Diagrams 2 Triangulations Given a finite family, ( a i ) iI , of points in E n , we say that ( a i ) iI is affinely independent if and only if the family of vec- tors, ( a i a j ) j( I -{i}) , is linearly independent for some i I . a0 a 1 a2 a 1 E 2 E 2 E 2 a0 a0 A. I. A. I. A. I. 3 Triangulations Given a finite family, ( a i ) iI , of points in E n , we say that ( a i ) iI is affinely independent if and only if the family of vec- tors, ( a i a j ) j( I -{i}) , is linearly independent for some i I . Not A. I. a 1 a2 a 1 a2 a3 E 2 E 2 a0 a0 Not A. I.

Transcript of Computational Geometry: Delaunay Triangulations and...

  • DIMAp – UFRN

    [email protected]

    Prof. Marcelo Ferreira Siqueira

    Summer School on Computational Geometry - 2013, IMPA, Rio de Janeiro, RJ, Brazil

    Lecture 3

    Computational Geometry:

    Delaunay Triangulations and

    Voronoi Diagrams

    2

    Triangulations

    Given a finite family, (ai)i⇥I , of points in En, we say that(ai)i⇥I is affinely independent if and only if the family of vec-tors, (aiaj)j⇥(I�{i}), is linearly independent for some i ⇥ I.

    a0a1

    a2a1

    E2 E2 E2

    a0a0

    A. I. A. I.A. I.

    3

    Triangulations

    Given a finite family, (ai)i⇥I , of points in En, we say that(ai)i⇥I is affinely independent if and only if the family of vec-tors, (aiaj)j⇥(I�{i}), is linearly independent for some i ⇥ I.

    Not A. I.

    a1

    a2a1

    a2

    a3

    E2 E2

    a0

    a0

    Not A. I.

  • 4

    Triangulations

    In En, the largest number of affinely independent points is

    n + 1.

    Let a0

    , . . . , ad be any d + 1 affinely independent points inEn.

    a0a1

    a2a1

    E2 E2 E2

    a0a0

    5

    Triangulations

    The simplex s spanned by the points a0

    , . . . , a

    d

    is the convex

    hull, conv({a0

    , . . . , a

    d

    }), of these points, and is denoted by[a

    0

    , . . . , a

    d

    ].

    The points a0

    , . . . , ad are the vertices of s.

    a0a1

    a2a1

    E2 E2 E2

    a0a0

    6

    Triangulations

    a0a1

    a2a1

    E2 E2 E2

    a0

    a0

    The simplex s spanned by the points a0

    , . . . , a

    d

    is the convex

    hull, conv({a0

    , . . . , a

    d

    }), of these points, and is denoted by[a

    0

    , . . . , a

    d

    ].

    The dimension, dim(s), of s is d, and s is called a d-simplex.

  • 7

    Triangulations

    a0a1

    a2a1

    E2 E2 E2

    a0a0

    The simplex s spanned by the points a0

    , . . . , a

    d

    is the convex

    hull, conv({a0

    , . . . , a

    d

    }), of these points, and is denoted by[a

    0

    , . . . , a

    d

    ].

    In En, we have simplices of dimension 0, 1, . . . , n only.

    8

    Triangulations

    A 0-simplex is a point, a 1-simplex is a line segment, a 2-

    simplex is a triangle, and a 3-simplex is a tetrahedron, and

    so on.

    0-simplex

    3-simplex2-simplex

    1-simplex

    9

    Triangulations

    The convex hull of any nonempty (proper) subset of ver-

    tices of a simplex s is also a simplex, called a (proper) face

    of s.

    a0 a1

    a2

    a 2-face: [a0, a1, a2]

    a0 a1

    a2

    3 proper 0-faces: [a0

    ], [a1

    ], [a2

    ]

    a0 a1

    a2

    3 proper 1-faces: [a0

    , a1

    ], [a0

    , a2

    ], [a1

    , a2

    ]

    a0 a1

    a2

  • 10

    Triangulations

    A simplicial complex, K, in En is a finite set of simplices inEn such that

    (1) if s ⇥ K and t � s then t ⇥ K, and

    (2) if s ⌅ t ⇤= ∆ then s ⌅ t � s, t, for all s, t ⇥ K,

    where a � b denotes "a is a (not necessarily proper) face ofb".

    11

    Triangulations

    violates (1) violates (2)

    A simplicial complex

    12

    Triangulations

    The dimension, dim(K), of a simplicial complex K is thelargest dimension of a simplex in K. We refer to a d-dimensional simplicial complex as simply a d-(simplicial)

    complex.

    a 2-complex

  • 13

    Triangulations

    Note that a simplicial complex is a discrete object (i.e., afinite collection of simplices). In turn, each simplex is a set

    of points.

    a 2-complex

    14

    Triangulations

    The (point) set consisting of the union of all points in the

    simplices of a simplicial complex, K, is called the underly-ing space of K and denoted by |K|. Note that K is a contin-uous object.

    its underlying space

    15

    Triangulations

    E2

    5 points in E2 convex hull of the 5 points

    A triangulation of a nonempty and finite set, P, of points of

    En, is a simplicial complex, T (P), such that all vertices ofT (P) are in P and the union of all simplices of T (P) equalsconv(P).

  • 16

    Triangulations

    E2

    two triangulations of the same point set

    A triangulation of a nonempty and finite set, P, of points of

    En, is a simplicial complex, T (P), such that all vertices ofT (P) are in P and the union of all simplices of T (P) equalsconv(P).

    17

    Triangulations

    E2

    P conv(P) T (P)

    In our definition we do assume that the affine hull of Phas dimension n. So, a triangulation of P may contain nosimplex of dimension n, such as the example below forn = 2:

    18

    Triangulations

    Note that not all points of P need to be vertices of T (P), ex-cept for the extremes points of conv(P), which are alwaysin T (P).

    Whenever all points in P are vertices of T (P), we call T (P)a full-triangulation. This is the type of triangulation we will

    study.

    From now on, we drop the word "full" and refer to the term

    "triangulation" as a full-triangulation of the given point

    set.

  • 19

    Triangulations

    (proof discussed in the end of the lecture)

    Theorem 3.1. Every nonempty and finite set, P ⇢ E2, ad-mits a triangulation, which partitions the convex hull of

    P.

    20

    The Delaunay Triangulation

    Let P be a nonempty and finite set of points in E2.

    E2

    co-circularity

    E2

    collinearity

    For the time being, let us assume that (1) not all pointsof P are collinear, and (2) no four points of P lie in thecircumference defined by 3 of them. Observe that "(1) )|P| � 3".

    21

    The Delaunay Triangulation

    The Lifting Procedure

    Let w : E2 ! R be the function defined as

    w(p) = x2 + y2 ,

    for every p = (x, y) 2 E2.

  • 22

    The Delaunay Triangulation

    Note that w can be seen as a height function that lifts the

    point p = (x, y) to the paraboloid of equation z = x2 + y2

    in E3.

    p = (x, y)

    w(p)

    E3

    23

    The Delaunay Triangulation

    p = (x, y)

    w(p)

    E3

    LetP

    w = {(x, y, w(x, y)) � E3 | (x, y) � P} .

    (x, y, w(x, y))

    24

    The Delaunay Triangulation

    Note that P is the orthogonal projection of P

    wonto the xy-

    plane.

    p = (x, y)

    w(p)

    E3

    (x, y, w(x, y))

  • 25

    The Delaunay Triangulation

    E3

    Consider the convex hull, conv(Pw), of Pw. Denote it byP .

    26

    The Delaunay Triangulation

    Consider the convex hull, conv(Pw), of Pw. Denote it byP .

    P

    E3

    27

    The Delaunay Triangulation

    Project the lower envelope of P onto the xy-plane.

    P

    orthogonally

    E3

  • E3

    28

    The Delaunay Triangulation

    Project the lower envelope of P onto the xy-plane.

    P

    If the result of the projection of the lower envelope of P is atriangulation, then we call it the Delaunay triangulation of

    P.

    E2

    29

    The Delaunay Triangulation

    We denote the Delaunay triangulation of P by DT (P).

    30

    The Delaunay Triangulation

    Proposition 3.2. Let S ⇢ E3 be the paraboloid given bythe equation z = x2 + y2, and let H ⇢ E3 be a non-verticalhyperplane, i.e., one whose normal vector has non-zero

    last coordinate. Let C be the projection of H \ S into E2

    obtained by dropping the last coordinate of all points in

    H \ S. Then, C is either empty, a single point, or a circum-ference.

  • 31

    The Delaunay Triangulation

    (proof on the board)

    x

    z

    y

    C

    HS

    Proposition 3.2.

    32

    The Delaunay Triangulation

    Lemma 3.3. Let Q ⇢ P be any subset of P with 3 affinelyindependent points. Then, Qw corresponds to the vertexset of a lower facet of the polytope, P , if and only if allpoints in Q lie on a circle and all points of P�Q are outsideit.

    33

    The Delaunay Triangulation

    x

    z

    y

    S

    C

    H

    (proof on the board)

    Lemma 3.3.

  • 34

    The Delaunay Triangulation

    By hypothesis, no four points of P lie in the same circum-ference.

    So, Lemma 3.3 implies that all facets of the lower envelope

    of P are triangles in E3, and so are their projections ontoE2.

    By hypothesis, not all points of P are collinear. This meansthat the proper faces of the lower envelope of P are trian-gles.

    35

    The Delaunay Triangulation

    What can we conclude from the previous remarks?

    The projection of the lower envelope of P is a set of trian-gles.

    It turns out that — with a little bit of an effort — we can also

    show that this set of triangles, along with their edges and

    vertices, is a triangulation of P. This implies that the edges

    and vertices of the triangles must be in the lower envelope

    of P .

    36

    The Delaunay Triangulation

    By definition, the triangulation resulting from the projec-

    tion of the lower envelope is the Delaunay triangulation,

    DT (P).

  • 37

    The Delaunay Triangulation

    (proof on the board)

    Lemma 3.4. Let P be a nonempty and finite set of pointsof E2. If no four points of P lie in the same circumferenceand not all points of P lie in the same line, then the Delau-nay triangulation, DT (P), of P exists. Furthermore, it isunique.

    38

    The Delaunay Triangulation

    What if one these two assumptions does not hold?

    E2

    co-circularity

    E2

    collinearity

    39

    The Delaunay Triangulation

    E3

    If all points of P are collinear, then P is 2-dimensionaland its lower envelope is a polygonal chain containing all

    points of P.

  • The projection of the lower envelope is also a polygonal

    chain containing all points of P, which is a triangulation aswell.

    40

    The Delaunay Triangulation

    According to our definition!

    41

    The Delaunay Triangulation

    From our definition of Delaunay triangulation, this "de-

    generate" triangulation is also the Delaunay triangulation

    of P.

    42

    The Delaunay Triangulation

    Suppose that all points in Q lie in the same circumference,C.

    E3

    Let Q be a subset of P containing at least four points.

  • 43

    The Delaunay Triangulation

    E3

    The points in Q cannot be all collinear. Otherwise, theywould not lie in the same circumference (assuming "finite"radius).

    44

    The Delaunay Triangulation

    E3

    If there is no point of P inside C, then Lemma 3.3 also tellsus that Q is exactly the vertex set of a lower envelope facetof P .

    45

    The Delaunay Triangulation

    E3

    So, the projection of the lower envelope is not a triangula-

    tion.

    The projection of this facet is a convex set with � 4 ver-tices!

  • 46

    The Delaunay Triangulation

    We call the resulting projection the Delaunay subdivision of

    P.

    Two-dimensional convex sets that are not triangles can al-

    ways be triangulated (it is a well-known result in mathemat-

    ics).

    So, we can always obtain a triangulation of P from the De-launay subdivision by triangulating those 2D convex sets.

    47

    The Delaunay Triangulation

    In practice, the resulting triangulation is usually called a

    Delaunay triangulation. But, conceptually, this is not quite

    right!

    However, keep in mind that there is more than one wayof "refining" a Delaunay subdivision to obtain a triangula-tion.

    So, the triangulation (whatever we call it) is not unique!

    48

    The Delaunay Triangulation

    Let us summarize all facts we have learned so far...

    Let P be any subset of points of E2.

    If no four points of P lie in the same circumference, thenwe know that the Delaunay triangulation, DT (P), of P ex-ists.

    Furthermore, this triangulation contains no triangles if the

    points of P are all collinear. Note that the converse alsoholds.

  • 49

    The Delaunay Triangulation

    If four points of P lie in the same circumference and this

    circumference contains no other point of P in its interior, then

    DT (P) does not exist, but the Delaunay subdivision of Pdoes!

    From any Delaunay subdivision of P, we can obtain a tri-angulation of P by triangulating convex sets with � 4 ver-tices.

    50

    The Delaunay Triangulation

    However, if for every circumference defined by (at least)four points of P on it, there is always at least one point ofP inside it, then the Delaunay triangulation, DT (P), of Pexists.

    Why?

    Because the lifting of the points on the circumference to the

    paraboloid doesn’t define a facet of the lower envelope of

    P .

    51

    The Delaunay Triangulation

    What can we conclude from all these facts?

    If P is nonempty and finite set of points of E2 such thatno four points of P define a circumference whose interioris empty of points of P, then DT (P) always exists and isunique.

    Otherwise, we get the Delaunay subdivision, which canalways be refined to yield a triangulation of P in a non-unique way.

  • 52

    The Delaunay Triangulation

    Theorem 3.1. Every nonempty and finite set, P ⇢ E2, ad-mits a triangulation, which partitions the convex hull of

    P.

    We have a proof for Theorem 3.1:

    We can also show its veracity by first proving the existence

    of Delaunay triangulations and subdivisions of P ⇢ En,for n � 3.

    The assertion of Theorem 3.1 also holds in En.

    53

    The Delaunay Triangulation

    We defined the Delaunay triangulation in E2 only, al-

    though our definition of triangulation holds in En, for any

    n 2 N.

    So, our definition of DT (P) is the same for P � En, withn ⇥ N.

    The lifting procedure can be extended to En, for n = 1 andn � 3.

    54

    The Delaunay Triangulation

    If all points in P � En lie in the same hyperplane in En,then DT (P) has no simplex of dimension n (like we sawfor n = 2).

    If n + 2 points in P ⇢ En lie in the same sphere in En

    and this sphere contains no point of P in its interior, thenthe projection of the lower envelope of conv(P) is not aDelaunay triangulation, but the Delaunay subdivision of

    P.

  • 55

    The Delaunay Triangulation

    However, we can always refine the Delaunay subdivisionof P to obtain a Delaunay triangulation of P, which is notunique.

    We rely on the fact that any n-dimensional polytope,which is the projection of a n-dimensional, lower facet ofconv(P) containing more than n + 1 vertices, can be trian-gulated.

    56

    The Delaunay Triangulation

    Can you describe it?

    This lemma gives us an algorithm for computing DT (P).

    Consider Lemma 3.3 again:

    Lemma 3.3. Let Q ⇢ P be any subset of P with 3 affinelyindependent points. Then, Qw corresponds to the vertexset of a lower facet of the polytope, P , if and only if allpoints in Q lie on a circle and all points of P�Q are outsideit.