tema 5 - universidad de sevillaasignatura.us.es/fgcitig/presentaciones/tema...

71
Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones Tema 5

Upload: others

Post on 19-Apr-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones

Tema 5

Page 2: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

1. Triangulaciones de nubes de puntos (modelado de terrenos)

2. Triangulaciones de polígonos (problema de la galería de arte)

Índice

Page 3: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Modelado de terrenos

Page 4: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Page 5: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

¿QUÉ ES UN S.I.G.?(Sistema de Información Geográfica)

Visualización de la información:

geográfica, numérica, estadística, etc.

Recolección

DATOS

Taquímetro / GPS

Interpolación de información

Sistema dinámico

Mapas topográficos

Transformación

Análisis

Modelado de terrenos

Page 6: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Introducción

Page 7: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 8: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 9: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 10: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 11: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 12: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Introducción

Page 13: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 14: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 15: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Introducción

Page 16: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

10

00

6

4

124019

20

36

28

23890

1000

980

990

1008

00

10

6

4

124019

20

36

28

23890

1000

980

990

1008

Modelado de terrenos

Page 17: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

10

00

6

4

124019

20

36

28

23890

1000

980

990

1008

00

10

6

4

124019

20

36

28

23890

1000

980

990

1008

23985

Modelado de terrenos

Page 18: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 19: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Modelado de terrenos

Page 20: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

P={p1,p2,...,pn} conjunto de puntos en el plano

triangulación de P ≡ pslg maximal con V(T) = P

Page 21: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Dado P siempre existe una triangulación de P.

Page 22: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Dado P siempre existe una triangulación de P.Las aristas de CH(P) están en cualquier triangulación de P.

Page 23: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Dado P siempre existe una triangulación de P.Las aristas de CH(P) están en cualquier triangulación de P.Todas las triangulaciones de P tienen el mismo número de aristas y triángulos.2n-2-k triángulos, 3n-3-k aristas (n = |P|, k = |CH(P)|)

Page 24: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Vector de ángulos de T:

V(T)={α1,α2,...,α3m} con α1≤ α2≤ ... ≤α3m

V(T) > V(T’) si existe i ∈ {1,...,3m} tal queαj=α’j si j<i

αi>α’i

T es la triangulación Equilátera de P={p1,p2,...,pn} si V(T) ≥ V(T’), para toda triangulación T’ de P.

Triangulaciones de nubes de puntos

Page 25: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

flip diagonal

pi

pj

pk

pr

α6α1

α4

α5

α3α2

e

pi

pj

pk

pr

pi

pj

e

β6β1

β4

β5

β3

β2

e = pi pj arista ilegal si, y sólo si,min {αi } < min{βi }

Una triangulación es legal si no tiene aristas ilegales

T equilatera T legal

Page 26: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

pi

pj

Caracterización de las triangulaciones legales (criterio del circunciclo)

p1

p2

p3

p4

Teorema del arco capaz (Thales)

p1 > p2 = p3 > p4

Page 27: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

pi

pj

pk

pr

e

Caracterización de las triangulaciones legales (criterio del circunciclo)

e = pi pj ilegal si, y sólo si, pr∈C(pi,pj,pk)

pi

pr

pj

pk

e

Page 28: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

pi

pj

pk

pr

e

Caracterización de las triangulaciones legales (criterio del circunciclo)

e = pi pj ilegal si, y sólo si, pr∈C(pi,pj,pk)

e

e = pi pj ilegal si, y sólo si, pk∈C(pi,pj,pr)

pi

pr

pj

pk

Page 29: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Algoritmo para obtener una triangulación legal:

Encontrar una triangulación T cualquiera de P

Entrada: Una nube de puntos P={p1, …, pn}

Salida: Una triangulación legal T de P

Mientras en T haya alguna arista ilegal e = pipj, realizar flip en la arista e

Page 30: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

Grafo de Delaunay: DG(P) ≡ grafo dual de Vor(P)V(DG(P)) = P ; pipj∈A(DG(P)) si pi y pj son vecinos en Vor(P)

Page 31: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

arista de Vor(P) arista de DG(P)Vértice de Vor(P) Región acotada de DG(P)

Page 32: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

arista de Vor(P) arista de DG(P)Vértice de Vor(P) Región acotada de DG(P)

DG(P) es un pslg (planar straight line graph)

Page 33: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

arista de Vor(P) arista de DG(P)Vértice de Vor(P) Región acotada de DG(P)

DG(P) es un pslg (planar straight line graph)

Page 34: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

P en posición general DG(P) es una triangulación

Triangulación de Delaunay(es única si P están en posición general)

Page 35: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

Si P tiene más de tres puntos cocirculares

Podemos obtener una triangulación legal añadiendo aristas a DG(P)

Triangulación de Delaunay

Page 36: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

Un punto q es vértice de Vor(P) si y sólo si el círculo máximo vacío centrado en q contiene tres o (en el caso de tratarse de un diagrama degenerado) más generadores en su frontera

Los vértices de un triángulo de la triangulación de Delaunay definen un círculo que no contiene a ningún otro generador del diagrama.

Page 37: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Proposición 1.

P={p1,p2,...,pn} puntos en el plano.

pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.

Triangulación de Delaunay

Page 38: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Proposición 1.

P={p1,p2,...,pn} puntos en el plano.

pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.

Triangulación de Delaunay

Page 39: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

La mediatriz entre dos generadores define un borde de Vor(P) si y sólo si existe un punto q sobre dicha mediatriz tal que el círculo máximo vacío centrado en q contiene solamente a estos dos generadores en su frontera.

Para cada arista de un triángulo de Delaunay existe un círculo pasando por sus extremos que no contiene a ningún otro generador del diagrama.

Page 40: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Proposición 2.

P={p1,p2,...,pn} puntos en el plano.

pipj es una arista de Delaunay si y sólo si existe un círculo a través de pipj que no contiene a ningún punto de P en su interior.

Triangulación de Delaunay

Page 41: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Proposición 2.

P={p1,p2,...,pn} puntos en el plano.

pipj es una arista de Delaunay si y sólo si existe un círculo a través de pipj que no contiene a ningún punto de P en su interior.

Triangulación de Delaunay

Page 42: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Sea P={p1,p2,...,pn} una nube de puntos en el plano y T una triangulación de P:

T legal T es de DelaunayT equilatera T es de Delaunay

Si P={p1,p2,...,pn} están en posición general:

T equilatera T es de Delaunay

Triangulación de Delaunay

Page 43: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulación de Delaunay

Algoritmo para obtener una (la) triangulación de Delaunay:

Encontrar una triangulación T cualquiera de P

Input: Una nube de puntos P={p1, …, pn}

Output: Una triangulación de Delaunay de P

Mientras en T haya alguna arista ilegal e = pipj, realizar flip en la arista e

Page 44: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Algoritmo de flips (Sibson, 1978) O(n2)Transforma una triangulación arbitraria en la de Delaunay realizando flips en triángulos adyacentes y decidiendo por el criterio del circunciclo.

Divide y vencerás (Guibas y Stolfi, 1985) O(nlog n)

Algoritmo del barrido plano (Fortune, 1987) O(nlog n)

Algoritmo incremental de inserción aleatoria (Guibas, Knuth y Sharir, 1992)

O(n2) O(nlog n) esperadoComienza con un triángulo ficticio e inserta aleatoriamente los puntos en la triangulación. Se generaliza a R3.

Algoritmos de triangulación equilátera

Page 45: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Page 46: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Page 47: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Page 48: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Page 49: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Page 50: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Las diagonales que se crean al insertar un punto son siempre legales.

pj

pi

pk

pr

Page 51: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Pero después de insertar el punto una arista legal puede dejar de serlo.

Hay que comprobar el critero del circunciclo en los nuevos triángulos y hacer un flip cuando tengamos aristas ilegales.

Page 52: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Pero después de insertar el punto una diagonal legal puede dejar de serlo.

Hay que comprobar el critero del circunciclo en los nuevos triángulos y hacer un flip cuando tengamos aristas ilegales.

Page 53: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Pero después de insertar el punto una arista legal puede dejar de serlo.

Hay que comprobar el critero del circunciclo en los nuevos triángulos y hacer un flip cuando tengamos aristas ilegales.

Page 54: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 55: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 56: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 57: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 58: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 59: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 60: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 61: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 62: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 63: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 64: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

pj

pi

pk

pr

Pero después de insertar el punto (o hacer un flip), una arista legal puede dejar de serlo.

Page 65: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incrementalAlgoritmo DelaunayTriangulation(P)

Entrada: Un conjunto P={p1,…,pn} de puntos en el planoSalida: Una triangulación de Delaunay de P

Sean p0,p-1 y p-2 tres puntos de forma que P ⊂ p0p-1p-2 ;

Inicializar T con los lados del triángulo p0p-1p-2 ;for r = 1 to n

encontrar el triángulo t1= pipjpk ∈T que contiene a pr ;if (pr está en el interior de t1)

thenañadir a T los lados pipr, pjpr y pkpr;LegalizaLado(pipj,pr,T) ;LegalizaLado(pjpk,pr,T) ;LegalizaLado(pkpi,pr,T) ;

else (pr está en un lado de t1, por ejemplo en pipj)

añadir a T los lados prpi, prpj, prpk y prpl y quitar pipj ;encontrar el triángulo t2= pipjpl ∈T adosado a t1 ;

LegalizaLado(pipl,pr,T) ;LegalizaLado(plpj,pr,T) ;LegalizaLado(pjpk,pr,T) ;LegalizaLado(pkpi,pr,T) ;

quitar de T los lados adyacentes a p0, p-1 y p-2 ;return T;

pi

pj

pk

pr

pi

pjpl

pk

pr

Page 66: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

LegalizaLado(pipj,pr,T)(* pr es el punto añadido y pipj el lado a “corregir” *)

Sea pipjpk el triángulo de T adyacente a pipjpr;

if (pipj es ilegal) (* pk está contenido en C(pi,pj,pr) *)

then

Sustituir en T el lado pipj por prpk ; (* flip pipj *)

LegalizaLado(pipk,pr,T) ;

LegalizaLado(pkpj,pr,T) ;

pi

pjpk

pr

Page 67: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Las aristas creadas por DelaunayTriangulation(P) son legales en la triangulación parcial

Cada flip de LegalizaLado convierte una arista ilegal en legal de la triangulación parcial

prpi

pj

pk

Page 68: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Las aristas creadas por DelaunayTriangulation(P) son legales en la triangulación parcial

Cada flip de LegalizaLado convierte una arista ilegal en legal de la triangulación parcial

pi

pj

pk

pr

Page 69: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Algoritmo incremental

Las aristas creadas por DelaunayTriangulation(P) son legales en la triangulación parcial

Cada flip de LegalizaLado convierte una arista ilegal en legal de la triangulación parcial

Las triangulaciones de Delaunay de una nube de puntos tienen un número lineal de aristas y triángulos.

Tras el proceso:

No quedan aristas ilegales

No se produce un bucle infinito

Obtenemos la triangulación de Delaunay

Page 70: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Triangulaciones de nubes de puntos

Bibliografía

Computational Geometry: Algorithms and Applications. M. de Berg et al. Springer-Verlag, 1997.

Computational Geometry in C.J. O’Rourke. Cambridge University Press, 1998.

Page 71: Tema 5 - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 5-Triangulaciones(1).pdf · Fundamentos de Geometría Computacional I.T.I. Gestión Triangulaciones de

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Triangulaciones de polígonos

Tema 5 Triangulaciones

Triangulaciones de nubes de puntos

Ejercicios1. El grafo de Gabriel de un conjunto S de puntos en el plano se define como sigue: dos puntos p y q están unidos mediante una arista del grafo de Gabriel si y sólo si el círculo de diámetro pq no contiene ningún otro punto de S.

a) Probar que el grafo de Gabriel de S está contenido en la triangulación de Delaunay de S.

b) Probar que p y q son adyacentes en el grafo de Gabriel de S si y sólo si la arista de Delaunay que une p y q corta su arista de Voronoi dual.

c) Dar un algoritmo O(nlogn) que calcule el grafo de Gabriel de un conjunto de n puntos.

2. Sea S un conjunto de n puntos. Una triangulación greedy de S se obtiene ordenando por su longitud todas las posibles aristas entre puntos de de S y añadiéndolas a la triangulación de menor a mayor, siempre y cuando la nueva arista no corte a ninguna que se haya añadido anteriormente.

a) Estudiar los tiempos de ejecución asociados a casa paso en la construcción de una triangulación greedy, así como orden de ejecución del algoritmo.

b) Dados los siguientes enunciados probar si son ciertos o dar un contraejemplo si son falsos (donde d(x,y) representa la distancia euclídea entre dos puntos x e y):

i. Supongamos que estamos en un paso intermedio de la construcción de la triangulación, y tenemos ya dos triángulos abc y bcd (que comparten la arista bc) sin puntos en su interior, formando un cuadrilátero convexo, entonces d(b,c) ≤ d(a,d).

ii.Consideramos dos puntos p y q de S y sea C el círculo centrado en el punto medio entre p y q y de diámetro d(p,q). El segmento pq divide a C en dos semicírculos. Si ambos semicírculos contienen al menos un punto de S, entonces pq no puede formar parte de la triangulación greedy de S.

c) Dar un conjunto cuyas triangulaciones greedy y Delaunay sean distintas.