Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones
Tema 5
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
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
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
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
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Introducción
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Introducción
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Introducción
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
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
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Modelado de terrenos
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
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.
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.
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)|)
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
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
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
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
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
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
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)
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)
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)
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)
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)
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
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.
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
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
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.
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
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
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
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
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
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Algoritmo incremental
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Algoritmo incremental
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Algoritmo incremental
Fundamentos de Geometría
ComputacionalI.T.I. Gestión
Triangulaciones de polígonos
Tema 5 Triangulaciones
Triangulaciones de nubes de puntos
Algoritmo incremental
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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.
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.