44
MADRID, JUNIO 2016 Autor: Germán Francisco Quintero Rey Director: Manuel Abellanas Oar Graduado en Matemáticas e Informática Universidad Politécnica de Madrid Escuela Técnica Superior de Ingenieros Informáticos TRABAJO FIN DE GRADO Algoritmos geométricos sobre la esfera

Algoritmos geométricos sobre la esfera

  • Upload
    vuhuong

  • View
    223

  • Download
    10

Embed Size (px)

Citation preview

Page 1: Algoritmos geométricos sobre la esfera

MADRID, JUNIO 2016

Autor:

Germán Francisco Quintero Rey

Director:

Manuel Abellanas Oar

Graduado en Matemáticas e Informática

Universidad Politécnica de Madrid

Escuela Técnica Superior de Ingenieros Informáticos

TRABAJO FIN DE GRADO

Algoritmos geométricos sobre la esfera

Page 2: Algoritmos geométricos sobre la esfera
Page 3: Algoritmos geométricos sobre la esfera

RESUMEN

En este trabajo de fin de grado se realiza un estudio del cierre convexo, latriangulacion de Delaunay, y el diagrama de Voronoi de puntos en posicion generalsituados sobre la superficie de una esfera. Ademas se proponen algoritmos geometricoseficientes para el computo de las estructuras mencionadas, fundamentales en el ambitode la Geometrıa Computacional, sobre la esfera.

Para la realizacion de este estudio, se hace uso del cierre convexo tridimensional, que,al igual que en el plano, se encuentra estrechamente relacionado con el objeto deltrabajo, y de operaciones esenciales de la Geometrıa Computacional como son elvolumen signado de cuatro puntos o el vector normal de una superficie.

Adicionalmente se han implementado los algoritmos propuestos en SageMath, unsistema de software matematico libre basado en Python, con ayuda de la herramientaQhull para el calculo del cierre convexo tridimensional. La implementacion se harealizado para puntos aleatorios uniformemente distribuidos sobre la esfera unidad ysus resultados se muestran en las secciones correspondientes del trabajo.

Para concluir, se muestran imagenes del globo terraqueo aproximado como una esfera,aplicando los algoritmos implementados a puntos que representan capitales delmundo.

i

Page 4: Algoritmos geométricos sobre la esfera
Page 5: Algoritmos geométricos sobre la esfera

ABSTRACT

This project studies the convex hull, Delaunay triangulation and Voronoi diagram ofsets of points in general position located on the surface of a sphere. Moreover, itproposes efficient geometric algorithms to compute said structures, essential in thescope of Computational Geometry, on the unit sphere.

For this study, the three-dimensional convex hull is used, which, as in the case of theplane, is closely related to the object of this work. Likewise, essential operations ofComputational Geometry are used, such as the signed volume of four points or thenormal vector of a surface.

Additionally, the algorithms proposed have been implemented in SageMath, anopen-source mathematical software system based on Python, with the help of theQhull tool for the computation of a three-dimensional convex hull. Theimplementation was performed for uniformly distributed random points on the unitsphere, and its results are shown in the corresponding sections of the work.

To conclude, images of planet Earth considered as a sphere are shown, applying theimplemented algorithms to points that represent capitals of the world.

iii

Page 6: Algoritmos geométricos sobre la esfera
Page 7: Algoritmos geométricos sobre la esfera

Indice

1. INTRODUCCION 11.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Herramientas utilizadas: Qhull y SageMath . . . . . . . . . . . . . . . . 2

2. POSICION EUCLIDEA 3

3. CIERRE CONVEXO 73.1. Conceptos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2. Cierre convexo sobre la esfera . . . . . . . . . . . . . . . . . . . . . . . 7

3.2.1. Caso lımite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4. TRIANGULACION DE DELAUNAY 134.1. Conceptos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.2. Triangulacion de Delaunay sobre la esfera . . . . . . . . . . . . . . . . . 144.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5. DIAGRAMA DE VORONOI 195.1. Conceptos previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2. Diagrama de Voronoi sobre la esfera . . . . . . . . . . . . . . . . . . . . 205.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

6. CONCLUSIONES 256.1. Resultados del globo terraqueo . . . . . . . . . . . . . . . . . . . . . . . 26

6.1.1. Europa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296.1.2. Africa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306.1.3. Asia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.1.4. Oceanıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326.1.5. America . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

7. BIBLIOGRAFIA 35

v

Page 8: Algoritmos geométricos sobre la esfera

Indice de figuras

1. Triangulacion de Delaunay de 3 puntos (circunferencia maxima) . . . . 112. Diagrama de Voronoi de 3 puntos (circunferencia maxima) . . . . . . . 113. Cierre convexo de 5 puntos en posicion euclıdea . . . . . . . . . . . . . 124. Cierre convexo de 5 puntos en posicion no euclıdea . . . . . . . . . . . 125. Cierre convexo de 25 puntos en posicion euclıdea . . . . . . . . . . . . . 126. Cierre convexo de 25 puntos en posicion no euclıdea . . . . . . . . . . . 127. Triangulacion de Delaunay de 5 puntos en posicion euclıdea . . . . . . 168. Triangulacion de Delaunay de 25 puntos en posicion euclıdea . . . . . . 169. Triangulacion de Delaunay de 25 puntos en posicion no euclıdea . . . . 1710. Triangulacion de Delaunay de 100 puntos en posicion no euclıdea . . . 1711. Diagrama de Voronoi de 5 puntos en posicion euclıdea . . . . . . . . . . 2312. Diagrama de Voronoi de 25 puntos en posicion no euclıdea . . . . . . . 2313. Diagrama de Voronoi de 25 puntos en posicion euclıdea . . . . . . . . . 2414. Diagrama de Voronoi de 100 puntos en posicion no euclıdea . . . . . . 2415. Triangulacion de Delaunay de capitales (posicion no euclıdea) . . . . . 2616. Diagrama de Voronoi de capitales (posicion no euclıdea) . . . . . . . . 2717. Cierre convexo de capitales de Europa (posicion euclıdea) . . . . . . . . 2918. Triangulacion de Delaunay de capitales de Europa . . . . . . . . . . . . 2919. Diagrama de Voronoi de capitales de Europa . . . . . . . . . . . . . . . 2920. Cierre convexo de capitales de Africa (posicion euclıdea) . . . . . . . . 3021. Triangulacion de Delaunay de capitales de Africa . . . . . . . . . . . . 3022. Diagrama de Voronoi de capitales de Africa . . . . . . . . . . . . . . . 3023. Cierre convexo de capitales de Asia (posicion euclıdea) . . . . . . . . . 3124. Triangulacion de Delaunay de capitales de Asia . . . . . . . . . . . . . 3125. Diagrama de Voronoi de capitales de Asia . . . . . . . . . . . . . . . . 3126. Cierre convexo de capitales de Oceanıa (posicion euclıdea) . . . . . . . 3227. Triangulacion de Delaunay de capitales de Oceanıa . . . . . . . . . . . 3228. Diagrama de Voronoi de capitales de Oceanıa . . . . . . . . . . . . . . 3229. Cierre convexo de capitales de America (posicion euclıdea) . . . . . . . 3330. Triangulacion de Delaunay de capitales de America . . . . . . . . . . . 3331. Diagrama de Voronoi de capitales de America . . . . . . . . . . . . . . 33

vi

Page 9: Algoritmos geométricos sobre la esfera

1. INTRODUCCION

1.1. Motivacion

En las ultimas decadas, la Geometrıa Computacional ha surgido como una nuevadisciplina en el campo de diseno, desarrollo y analisis de algoritmos geometricos. Estadisciplina estudia los problemas de la Geometrıa desde un punto de vistacomputacional, desarrollando herramientas y algoritmos computacionalmenteeficientes que permitan analizar y resolver dichos problemas. Algunas aplicacionesimportantes de la Geometrıa Computacional se encuentran en los campos de larobotica, los sistemas de informacion geografica, el diseno grafico por ordenador, lainvestigacion operativa, o la arquitectura.

La mayor parte del estudio de la Geometrıa Computacional se situa en el campo de laGeometrıa Euclıdea, concretamente en el plano y en el espacio tridimensional. Enparticular, tres de las estructuras geometricas mas estudiadas son: el cierre convexo, latriangulacion de Delaunay y el diagrama de Voronoi de una nube de puntos en elplano o en el espacio. Sin embargo, el comportamiento de estas estructuras fuera delespacio euclıdeo es poco conocido, aunque existen algunas lıneas de investigacion queestudian dichas estructuras y diversos problemas geometricos en superficies comopueden ser el cono, el cilindro, el toro, la esfera, o incluso superficies algebraicas mascomplejas, no necesariamente en el espacio euclıdeo. Por ejemplo, en sistemas deinformacion geografica se pueden considerar cuestiones geometricas globales que setraducen en problemas geometricos sobre la esfera; o en fenomenos que presentan unaconfiguracion que se muestra de manera cıclica, resulta interesante el estudio delcilindro.

En particular, en este trabajo se estudiaran y obtendran las tres estructurasgeometricas mencionadas anteriormente sobre la superficie esferica para puntos enposicion general, dadas las posibles aplicaciones que pueden tener sobre el globoterraqueo (que puede aproximarse a una esfera).

1

Page 10: Algoritmos geométricos sobre la esfera

1.2. Objetivos

Los objetivos principales de este trabajo de fin de grado son los siguientes:

Estudiar el cierre convexo, la triangulacion de Delaunay y el diagrama de Voronoide nubes de puntos en posicion general1 situados sobre la superfice esferica.

Disenar, implementar y validar nuevos algoritmos geometricos sencillos y eficientesque calculen las tres estructuras mencionadas anteriormente sobre la superficie dela esfera.

1.3. Herramientas utilizadas: Qhull y SageMath

Para la realizacion del trabajo ha sido fundamental el uso de las herramientas Qhull ySageMath.

Qhull2 es una librerıa de codigo abierto que calcula cierres convexos, triangulacionesde Delaunay, diagramas de Voronoi e intersecciones de semiespacios en una dimensiongenerica. En particular, ha resultado de interes el calculo del cierre convexotridimensional de una nube de puntos mediante el algoritmo Quick Hullproporcionado por esta librerıa, que presenta un alto rendimiento en la practica.Cabe destacar que esta herramienta evita, en general, utilizar puntos coplanarios(puntos que no se encuentran en posicion general), dado que pueden generar erroresnumericos en los algoritmos geometricos. Ademas, el cierre convexo tridimensionalcalculado por Qhull requiere de al menos 4 puntos, por lo que el trabajo secentrara en conjuntos de 4 puntos o mas, situados en posicion general.

SageMath3 es un sistema de software matematico libre que se construye sobre diversospaquetes de codigo abierto como NumPy, SciPy o matplotlib, y permite su usomediante un lenguaje basado en Python. Este sistema ha sido el utilizado paraimplementar algoritmos que calculen el cierre convexo, la triangulacion de Delaunay yel diagrama de Voronoi de nubes de puntos situados sobre la superficie de una esfera.

1Un conjunto de d+1 puntos en un espacio afın d-dimensional se dice que estan en posicion generalsi ningun hiperplano contiene mas de d puntos; es decir, los puntos no satisfacen mas relaciones dedependencia lineales de las necesarias.

2Disponible en http://www.qhull.org/3Disponible en http://www.sagemath.org/

2

Page 11: Algoritmos geométricos sobre la esfera

2. POSICION EUCLIDEA

Supongase que se quiere calcular el cierre convexo o una triangulacion de una nube depuntos muy cercanos en la superficie de una esfera, de manera que su disposicion seasemeja a la de un plano. Para este proposito puede resultar ser de interes considerarsi el uso de metodos planares es valido, dado que existen algoritmos optimos para elcalculo de estas estructuras. Por ello, es necesario definir el concepto de posicioneuclıdea, de manera que si un conjunto de puntos esta en posicion euclıdea, sucomportamiento es similar al comportamiento del conjunto trasladado al plano, por loque el uso de metodos planares es valido o de facil adaptacion.

Sea P un conjunto de puntos sobre la superficie esferica. Se dice que P se encuentra enposicion euclıdea en la esfera si esta contenido en un hemisferio (abierto) de la misma[1]. Es posible decidir si un conjunto de puntos se encuentra o no en posicion euclıdeaen tiempo lineal, como indica el siguiente lema:

LEMA [5] Un conjunto esta en posicion euclıdea sobre la esfera si y solo si elconjunto es linealmente separable del centro de la esfera, y esto puede llevarse a caboen tiempo lineal.Atendiendo al lema anterior, un conjunto de puntos sobre la superficie esferica que seencuentre en posicion euclıdea, se puede separar del centro de la esfera mediante unplano.

Ahora bien, el metodo de complejidad teorica O(n) es complejo, usando criterios deseparabilidad y tecnicas de programacion lineal [6]. Ademas, en este trabajo se haceuso del calculo del cierre convexo tridimensional de Qhull, el cual presenta un altorendimiento en la practica. Por estos dos motivos, en vez de utilizar el metodo lineal,se ha disenado e implementado un algoritmo de complejidad O(nlog(n)), que empleael cierre convexo tridimensional y el volumen signado para decidir si un conjunto depuntos sobre la esfera se encuentra en posicion euclıdea.El volumen signado de 4 puntos determina la orientacion y el volumen del tetraedrocon dichos vertices. Se puede calcular mediante la formula:

signedV olume(a, b, c, d) ≡ 1

6[a− d, b− d, c− d] ≡ 1

6

∣∣∣∣∣∣∣∣

ax ay az 1bx by bz 1cx cy cz 1dx dy dz 1

∣∣∣∣∣∣∣∣

El algoritmo propuesto para determinar la posicion euclıdea o no euclıdea de puntossobre la esfera es el siguiente:

3

Page 12: Algoritmos geométricos sobre la esfera

ALGORITMO isEuclideanPosition(P)

ENTRADA: P = {p1, p2, ..., pn} conjunto de puntos en posicion general sobre laesfera. n ≥ 4

SALIDA: True si estan en posicion euclıdea. False en caso contrario.

PASO 1 Calcular el cierre convexo H de P en 3D.1

PASO 2 Evaluar si el centro de la esfera se puede separar de P por un plano:Para cada triangulo de H, calcular los volumenes signados de los tetraedros formadospor el triangulo con el centro de la esfera, y por el triangulo con otro punto de H. Sien algun triangulo los volumenes signados calculados tienen distinto signo, entonces Pse encuentra en posicion euclıdea, y no lo estara en otro caso. (END)

A continuacion se analizara la complejidad del algoritmo isEuclideanPosition:

PASO 1: Calculo del cierre convexo tridimensional. Utilizando un algoritmooptimo para este calculo, como por ejemplo el algoritmo Quick Hull, este pasopresenta una complejidad de O(nlogn).

PASO 2: Calculo de volumenes signado y evaluacion de signos. El volumen signadoes una operacion de orden de complejidad constante (O(1)), al igual que la evaluacionde signos. Este calculo se realiza a lo sumo h veces, siendo h el numero de caras(triangulos) del cierre convexo tridimensional, por lo que este paso tiene unacomplejidad de O(h).

COMPLEJIDAD TOTAL: O(nlogn)

Existe otro metodo similar para realizar el paso 2 del algoritmo presentadoanteriormente. Ese metodo hace uso del test explicado en el capıtulo 4 del trabajo quedetermina si un triangulo es Delaunay o no. Consiste en estudiar si los sımplices delcierre convexo tridimensional son Delaunay o no: si algun sımplice no es Delaunay,entonces ese sımplice determina un plano que separa el centro de la esfera delconjunto de puntos, por lo que se encuentran en posicion euclıdea; y si todos sonDelaunay, entonces los puntos no se encuentran en posicion euclıdea.En el caso general, este segundo metodo presenta una complejidad de O(n), pero paracasos degenerados puede llegar a tener una complejidad de O(n2).

1Se obtiene usando el algoritmo Quick Hull proporcionado por Qhull.

4

Page 13: Algoritmos geométricos sobre la esfera

En cuanto a la probabilidad de que un conjunto de N puntos sobre la superficieesferica se encuentre en posicion euclıdea, se tiene el siguiente resultado de Wendel:

PROPOSICION [7] Si se eligen N puntos aleatoriamente con una distribucionuniforme, se encontraran en posicion euclıdea con una probabilidadP = (N2 −N + 2)/2N

Por tanto, la probabilidad de que un numero elevado de puntos se encuentre enposicion euclıdea es muy baja:

Caso particular: N ≤ 3 puntos → P = 1

N = 4 puntos → P = 0,875

N = 5 puntos → P = 0,6875

N = 6 puntos → P = 0,5

N = 10 puntos → P = 0,08984375

N = 14 puntos → P = 0,01123047

N = 25 puntos → P = 0,00017941

Se puede ver que para N > 14 puntos, la probabilidad de que se encuentren en posicioneuclıdea es inferior al 1%.

5

Page 14: Algoritmos geométricos sobre la esfera
Page 15: Algoritmos geométricos sobre la esfera

3. CIERRE CONVEXO

3.1. Conceptos previos

Se dice que un conjunto X ⊂ Rn es convexo si para cada par de puntos x e y de X

existe un punto z ∈ X\{x, y} tal que d(x, z) + d(y, z) = d(x, y); es decir, si x, y ∈ X,el segmento que une ambos puntos debe estar contenido en X.

Se llama cierre convexo de un conjunto X ⊂ Rn al conjunto CH(X), donde CH(X)es el conjunto convexo minimal que contiene a X.Tambien puede definirse como el conjunto de todas las combinaciones convexas depuntos en X:

CH(X) = {x ∈ Rn|x = λ1A1 + ...+ λkAk, Ai ∈ X, λi ≥ 0,

∑ki=1 λi = 1, 1 ≤ i ≤ k}

La definicion de cierre convexo puede generalizarse a las superficies de manera quedada una superficie S y un conjunto P ⊆ S, entonces P es convexo si para cada parde puntos de P el segmento en S que los une esta contenido en P . Ademas, el cierreconvexo de P en S, CH(P ) es el conjunto convexo minimal que contiene a P .

En el caso de la esfera, el segmento que une dos puntos de su superficie es la geodesicade longitud mınima que los conecta.

3.2. Cierre convexo sobre la esfera

A continuacion, se caracteriza y se calcula el cierre convexo de un conjunto P depuntos sobre la esfera. Para ello, primero se debe determinar si P se encuentra enposicion euclıdea o no: cuando P esta en posicion euclıdea, basta adaptar unalgoritmo planar; en otro caso, el cierre convexo es toda la esfera.

PROPOSICION [1] El cierre convexo de cuatro puntos en posicion no euclıdea sobrela esfera es toda la superficie esferica.

Demostracion: Sea P = {v1, v2, v3, v4} un conjunto de cuatro puntos en posicion noeuclıdea sobre la esfera. Sea Cij el cırculo maximo definido por vi y vj, y sea γij elsegmento que une dichos puntos, luego γij ⊂ Cij. Si se considera, por ejemplo y sinperdida de generalidad, C12, dado que P se encuentra en posicion no euclıdea, v3 y v4yacen en los dos hemisferios definidos por C12. El segmento γ12 no interseca a γ34; siesto ocurriera, se podrıa considerar el hemisferio cuyo polo es el punto de interseccionde ambos segmentos, y se tendrıa que P esta en posicion euclıdea.Los triangulos {v1, v2, v3} y {v1, v2, v4} deben estar contenidos en el cierre convexo, y

7

Page 16: Algoritmos geométricos sobre la esfera

en ellos esta incluida la geodesica C34\γ34. Lo mismo sucede con la geodesica C12\γ12usando los triangulos {v1, v3, v4} y {v2, v3, v4}. Ademas, los segmentos γ12 y γ34pertenecen al cierre convexo por definicion. Luego los cırculos maximos C12 y C34

estan contenidos en el cierre convexo. Basta unir los puntos de estos dos cırculos porparejas con segmentos para cubrir toda la superficie de la esfera, por lo que el cierreconvexo es toda la superficie esferica.

Para el caso de puntos en posicion euclıdea, no se puede aplicar directamente unalgoritmo planar, dado que se tiene una representacion planar de la esfera. Sinembargo, Grima y Marquez describen una adaptacion para la esfera del algoritmo deGraham, el cual calcula el cierre convexo en el plano:

[1] Sea P = {v1, v2, ..., vN} el conjunto de puntos sobre la esfera.1. Calcular el centroide p de tres puntos no colineales cualesquiera de P 1.Transformar las coordenadas de los puntos de P para convertir p en el polo norte dela esfera, y ordenar lexicograficamente los puntos por angulo polar (y distancia a p encaso de igualdad de angulo polar).

2. Calcular uno de los puntos mas alejados de p. Este punto pertenece al cierreconvexo. Comenzar el scan desde el siguiendo el orden de los puntos.

3. Examinar todas las ternas de puntos consecutivos en el orden circular: para cadaterna de puntos {v1, v2, v3}, estudiar si el segmento pv2 interseca al segmento v1v3:

si pv2 ∩ v1v3 = ∅ continuar con la siguiente terna {v2, v3, v4}si pv2 ∩ v1v3 = ∅ eliminar v2 y probar la terna {v0, v1, v3}

El scan termina cuando pasa por todos los puntos para llegar de nuevo al puntoinicial.

De una forma similar, se pueden adaptar otros algoritmos planares para calcular elcierre convexo sobre la esfera de un conjunto de puntos en posicion euclıdea.

1Tres puntos sobre la esfera son colineales si existe un cırculo maximo sobre el cual se situan todos.El centroide de un conjunto de N puntos p1, p2, ..., pN es su media aritmetica:(p1 + p2 + ...+ pN )/N

8

Page 17: Algoritmos geométricos sobre la esfera

Para este trabajo se ha disenado e implementado un algoritmo que calcula el cierreconvexo de un conjunto de puntos sobre la esfera, cuya descripcion es la siguiente:

ALGORITMO sphereConvexHull(P)

ENTRADA: P = {p1, p2, ..., pn} conjunto de puntos en posicion general sobre laesfera. n ≥ 4

SALIDA: El cierre convexo sobre la esfera de P

PASO 1: Determinar si P esta o no en posicion euclıdea. Si P esta en posicioneuclıdea, ir al paso 3.

PASO 2: El cierre convexo de P sobre la esfera es toda la superficie esferica.(END)

PASO 3: Hallar un plano1 que pase por el centro de la esfera y que deje los puntosde P en uno de los semiespacios que determina.

PASO 4: Transformar las coordenadas de los puntos de P mediante un giro tal queel plano obtenido en el paso 3 se transforme en el plano z = 0 y deje a los puntos enel semiespacio z > 0.

PASO 5: Proyectar2 los puntos de P desde el centro de la esfera (el origen) sobreel plano z = 1.

PASO 6 Calcular el cierre convexo de los puntos proyectados con algun algoritmoplanar3. Este cierre convexo nos da el cierre convexo de P sobre la esfera. (END)

1En la implementacion se utiliza el plano determinado por el triangulo que separa al centro de laesfera de P detectado en el paso 1.

2Dividiendo por la tercera coordenada de cada punto: Si p = (px, py, pz) ∈ P , su proyeccion sobreel plano z = 1 es: p′ = (px/pz, py/pz) Notese que pz = 0 solo en el caso degenerado en el que hay trespuntos en una circunferencia maxima, caso que en realidad se encuentra en posicion no euclıdea.

3En la implementacion se utiliza el algoritmo Quick Hull de Qhull, por simplicidad y rendimiento.

9

Page 18: Algoritmos geométricos sobre la esfera

A continuacion se analizara la complejidad del algoritmo sphereConvexHull :

PASO 1: Determinar posicion euclıdea. Usando el algoritmo isEuclideanPositionpropuesto en el capıtulo anterior, este paso tiene una complejidad de O(nlog(n)).Puede reducirse esta complejidad a O(n) si se usa un algoritmo de complejidad lineal.

PASO 2: El cierre convexo es P . Complejidad de O(1).

PASO 3: Calculo del plano separador. Puede obtenerse en el paso 1. Aprovechandoesto, se puede decir que tiene complejidad constante.

PASO 4: Transformacion de coordenadas mediante un giro. Se aplican operacionesbasicas a cada uno de los puntos de P , resultando una complejidad de O(n).

PASO 5: Transformacion de coordenadas mediante una proyeccion. Se aplicanoperaciones basicas a cada uno de los puntos de P , resultando una complejidad deO(n).

PASO 6: Calculo del cierre convexo en el plano. Usando un algoritmo planaroptimo como Quick Hull o el scan de Graham este paso presenta una complejidad deO(nlogn).

COMPLEJIDAD TOTAL: O(nlogn)

10

Page 19: Algoritmos geométricos sobre la esfera

3.2.1. Caso lımite

Cabe destacar el caso lımite en el que existen tres puntos en una circunferenciamaxima C no dispuestos en una semicircunferencia. En este caso, los puntos seencuentran en posicion no euclıdea, como se demuestra a continuacion:Sea P un conjunto de puntos situados sobre un hemisferio, tal que en P existen almenos 3 puntos formando una circunferencia maxima C. Los puntos de C pertenecenal cierre convexo, y cualquier punto del semiespacio que no contiene puntosesta contenido en una semicircunferencia maxima con sus extremos en C, por lo quepertenecen al cierre convexo. En consecuencia el cierre convexo de P es toda la esfera.

Notese que estos puntos no se encuentran en posicion general. Sin embargo, si no seconsideran puntos adicionales, su triangulacion de Delaunay y diagrama de Voronoisobre la esfera son simples (una semiesfera, y tres sectores esfericos, respectivamente),que se muestran en las siguientes figuras:

Figura 1: Triangulacion de Delaunay de 3 puntos (circunferencia maxima)

Figura 2: Diagrama de Voronoi de 3 puntos (circunferencia maxima)

11

Page 20: Algoritmos geométricos sobre la esfera

3.3. Ejemplos

Figura 3: Cierre convexo de 5 puntos enposicion euclıdea

Figura 4: Cierre convexo de 5 puntos enposicion no euclıdea

Figura 5: Cierre convexo de 25 puntosen posicion euclıdea

Figura 6: Cierre convexo de 25 puntosen posicion no euclıdea

12

Page 21: Algoritmos geométricos sobre la esfera

4. TRIANGULACION DE DELAUNAY

4.1. Conceptos previos

Sea S = {v0, v1, ...vk} ⊂ Rn. Se llama k-sımplice con vertices S al politopo k-dimensional

σ que es el cierre convexo de S. Por ejemplo, un 1-sımplice es un segmento,un 2-sımplicees un triangulo, y un 3-sımplice es un tetraedro. Si T ⊂ S, el sımplice τ con vertices Tes una cara de σ.Un complejo simplicial K es un conjunto finito de sımplices tal que:

a) Si σ ∈ K y τ ≤ σ → τ ∈ K (Si un sımplice esta en K tambien lo estan todas suscaras),

b) Si σ, σ’∈ K → σ ∩ σ’≤ σ y σ ∩ σ’≤ σ’ (Si dos sımplices de K se intersecan lohacen por una cara comun).

Una triangulacion T ⊂ Rn es una subdivision de R

n en sımplices n-dimensionales talque es un complejo simplicial que cubre todo el espacio.

Para un conjunto de puntos S ⊂ Rn , se llama triangulacion de Delaunay a la

triangulacion DT (S) tal que ningun punto de S se encuentra en el interior de lahiperesfera circunscrita de cualquier sımplice en DT (S).

En el caso de la superficie esferica, para poder generalizar la definicion detriangulacion a la esfera, se consideraran los segmentos que unen dos puntos como lossegmentos geodesicos asociados, como se menciono en la seccion del Cierre Convexo.Ademas, se considerara que un cırculo sobre la esfera es un casquete esferico.

13

Page 22: Algoritmos geométricos sobre la esfera

4.2. Triangulacion de Delaunay sobre la esfera

Para poder calcular la triangulacion de Delaunay de un conjunto de puntos sobre laesfera se debe primero determinar si se encuentran en posicion euclıdea dichos puntos.

Si los puntos no se encuentran en posicion euclıdea, basta calcular el cierre convexotridimensional de los puntos, y proyectar sus caras (sımplices) sobre la superficie de laesfera.

Esto no sucede cuando los puntos estan en posicion euclıdea, dado que generarıaintersecciones de aristas no validas al estar incluyendo triangulos que no sonDelaunay, que se traducirıa en incluir aristas que conectan puntos no consecutivos delcierre convexo esferico.Por lo anterior, se debe determinar si un triangulo es Delaunay o no, para lo cual seha disenado e implementado el siguiente algoritmo:

ALGORITMO testDelaunay(s,C)

ENTRADA: s: sımplice (triangulo) a estudiar; C: cierre convexo tridimensional den ≥ 4 puntos en posicion general situados sobre la esfera

SALIDA: True si el triangulo s es de Delaunay. False en caso contrario.

PASO 1: Calcular el vector normal exterior del sımplice s.PASO 2: Calcular el producto escalar del vector normal calculado en el paso 1 por

el opuesto del vector posicion de uno de los vertices del triangulo. Si el productoescalar es negativo, entonces el triangulo es de Delaunay; en caso contrario, no lo es.(END)

A continuacion se analizara la complejidad del algoritmo testDelaunay :

PASO 1: Calculo del vector normal. Usando el algoritmo usado en laimplementacion1, este paso tiene una complejidad de O(n) para casos degenerados(muchos puntos coplanarios), pero es de complejidad O(1) en el caso general.

PASO 2: Producto escalar. Complejidad de O(1).COMPLEJIDAD TOTAL: O(1) para el caso general. O(n) para casos degenerados.

1El vector normal se calcula en tiempo constante haciendo uso del paquete NumPy. Para verificarque es el exterior, se necesita otro punto no coplanario con el sımplice, con cuyo vector posicion secalcula el producto escalar con el vector normal. Si este producto escalar es positivo, entonces secambia el signo al vector normal calculado. La busqueda del punto no coplanario es lo que da lugar ala complejidad lineal en casos degenerados.

14

Page 23: Algoritmos geométricos sobre la esfera

El algoritmo propuesto es valido, como se demuestra a continuacion: dado untriangulo esferico, el cırculo circunscrito es la interseccion del plano que pasa por lostres vertices con la esfera. Si el triangulo es exterior1, el plano que lo contiene dejatodos los puntos del mismo lado que el centro de la esfera, luego el cırculo circunscritoes vacıo, pues en el casquete esferico que determina no hay puntos, por lo que se tratade un triangulo Delaunay. Por el contrario, si es un triangulo interior, el plano quedetermina separa el centro de la esfera de los puntos y en consecuencia el cırculocircunscrito no es vacıo porque contiene a todos los puntos; luego no es un trianguloDelaunay.

Entonces, el calculo de la triangulacion de Delaunay sobre la esfera se realizamediante el siguiente algoritmo:

ALGORITMO sphereDelaunay(P)

ENTRADA: P = {p1, p2, ..., pn} conjunto de puntos en posicion general sobre laesfera. n ≥ 4

SALIDA: Triangulacion de Delaunay de P sobre la esfera.

PASO 1: Calcular el cierre convexo tridimensional de P .

PASO 2: Determinar si P esta o no en posicion euclıdea. Si P esta en posicioneuclıdea, ir al paso 4.

PASO 3: Proyectar sobre la esfera cada sımplice del cierre convexotridimensional.2 (END)

PASO 4: Proyectar sobre la esfera los sımplices del cierre convexo tridimensionalque sean de Delaunay. (END)

Notese que el paso 3 del algoritmo es identico al paso 4, ya que, en posicion no euclıdea,todos los triangulos son de Delaunay, por lo que no hace falta realizar esa comprobacion.

1Se dice que un triangulo esferico es exterior si su vector normal exterior apunta hacia el exteriorde la esfera; si apunta hacia el interior de la esfera, se dice que es interior.

2Cada arista del triangulo se divide por su modulo y se multiplica por el radio de la esfera.

15

Page 24: Algoritmos geométricos sobre la esfera

A continuacion se analizara la complejidad del algoritmo sphereDelaunay :

PASO 1: Calculo del cierre convexo 3D. Usando un algoritmo optimo, como lo esQuick Hull, este paso tiene una complejidad de O(nlog(n)),

PASO 2: Determinar posicion euclıdea. Usando el algoritmo isEuclideanPosition,este paso tiene una complejidad de O(nlog(n)). Puede reducirse esta complejidad si seusa un algoritmo de complejidad lineal o se aprovechan los calculos del paso 1.

PASO 3: Proyeccion sobre la esfera. Cuesta O(1) para cada sımplice, resultando enuna complejidad de O(h), siendo h el numero de caras del cierre convexotridimensional.

PASO 4: testDelaunay y proyeccion sobre la esfera. Para cada triangulo secomprueba si es Delaunay. En casos degenerados esto supondrıa una complejidad deO(hn), siendo h el numero de caras del cierre convexo tridimensional, aunque en elcaso general presentarıa una complejidad de O(h). La proyeccion de todos lossımplices tiene una complejidad de O(h), como se vio en el paso 3. Por tanto, se tieneuna complejidad de O(h) en el caso general para este paso.

COMPLEJIDAD TOTAL: O(nlog(n)) para el caso general; O(hn), siendo h elnumero de caras del cierre convexo tridimensional, para casos degenerados en posicioneuclıdea.

4.3. Ejemplos

Figura 7: Triangulacion de Delaunay de5 puntos en posicion euclıdea

Figura 8: Triangulacion de Delaunay de25 puntos en posicion euclıdea

16

Page 25: Algoritmos geométricos sobre la esfera

Figura 9: Triangulacion de Delaunay de 25 puntos en posicion no euclıdea

Figura 10: Triangulacion de Delaunay de 100 puntos en posicion no euclıdea

17

Page 26: Algoritmos geométricos sobre la esfera
Page 27: Algoritmos geométricos sobre la esfera

5. DIAGRAMA DE VORONOI

5.1. Conceptos previos

Sea X un espacio metrico y sea S = {p1, p2, ..., pN} un conjunto de puntos de X. Sellama region de Voronoi de pk al lugar geometrico de los puntos que distan menos oigual de pk que de cualquier otro punto de S:

V or(pk) = {q ∈ X|d(q, pk) ≤ d(q, pj), 1 ≤ k ≤ N, j = k}El conjunto formado por las regiones de Voronoi de todos los puntos de S,V or(S) = {V or(p1), ..., V or(pN)}, se denomina diagrama de Voronoi generado por S,y constituye una teselacion de X.

Cabe destacar que el diagrama de Voronoi es la estructura dual a la triangulacion deDelaunay en el plano, y tambien lo es en el caso de la esfera: cada circuncentro de lostriangulos de la triangulacion de Delaunay constituyen un vertice de Voronoi, y susaristas se traducen en aristas del diagrama perpendiculares a los lados de lostriangulos.

Ademas, aunque en el caso general los diagramas de Voronoi pueden no estaracotados, en el caso de la esfera no existen regiones de Voronoi infinitas dado que laesfera es un conjunto acotado.

19

Page 28: Algoritmos geométricos sobre la esfera

5.2. Diagrama de Voronoi sobre la esfera

Es posible calcular el diagrama de Voronoi esferico en O(nlog(n)) a partir de dosdiagramas de Voronoi planares de puntos transformados por inversion. [9] Estemetodo fue propuesto por Hyeon-Suk Na, Chung-Nim Lee y Otfried Cheong, y sudescripcion es la siguiente:

[9] Sea P = {v1, v2, ..., vN} un conjunto de N puntos sobre la esfera S.

1. Elegir un punto cualquiera σ que no pertenezca a P .

2. Calcular la imagen inversa de P , W := ζσ(P ), siendo ζσ(P ) la funcion de inversioncon centro σ de los puntos de P : ζσ(v) =

v−σ|v−σ|2 + σ.

3. Aplicar un algoritmo planar que calcule el diagrama de Voronoi de W , V or(W ).

4. Elegir un punto q del interior del cierre convexo de W distinto de los vertices deW . Sea η := ζσ(q) su imagen inversa, y sea ζη la funcion inversion con centro η.Calcular la imagen inversa de P , W ′ := ζη(P ), siendo ζη la funcion de inversion.

5. Aplicar un algoritmo planar que calcule el diagrama de Voronoi de W ′, V or(W ′).

6. Identificar la parte de V (W ′) que yace en la region del diagrama de Voronoi plano(en el plano T ′, inverso de la esfera mediante ζη) de σ que se obtendrıa si se anadierael inverso de σ a W ′, denotando a esta region de Voronoi como ZT ′(ζη(σ),W

′). Estepaso puede realizarse recorriendo el diagrama y estudiando la distancia de cada verticeo arista a ζη(σ).

7. Corresponder V (W ) con la parte de V (W ′) calculada en el paso anterior, a travesde las funciones φ−1

σ y φ−1η , donde:

T es el plano resultante de invertir la esfera S mediante φσ

D(x) denota el disco vacıo mas grande en T con centro xSD(x) denota el disco esferico vacıo mas grande en S con centro xR+

σ := {x ∈ S|σ ∈ extSD(x)}φσ := R+

σ �→ T φσ(x) := y ∈ T tal que D(y) = ζσ(SD(x))φη := R+

η �→ T ′ φη(x) := y ∈ T ′ tal que D(y) = ζη(SD(x))

8. Identificar los O(n) puntos extremos en Rσ, siendo Rσ := {x ∈ S|σ ∈ δSD(x)}.Estos son los ”puntos extremos en el infinito” de V (W ), y los puntos de V (W ′) queyacen en la frontera de ZT ′(ζη(σ),W

′). Ordenarlos a lo largo de Rσ, agrupando los quesean identicos, siendo el resultado el diagrama de Voronoi de P sobre la esfera.

20

Page 29: Algoritmos geométricos sobre la esfera

Ahora bien, se puede utilizar un algoritmo mas sencillo para obtener el diagrama deVoronoi esferico, teniendo en cuenta los resultados de Brown para el caso planar:calcular el diagrama de Voronoi en el plano es inmediato una vez se tiene calculada latriangulacion de Delaunay , dado que puede obtenerse, por dualidad, en tiempo lineal;ademas, se puede calcular el diagrama de Voronoi planar en (O(nlogn)) usando elcierre convexo tridimensional [8].Sobre la esfera, se presenta una situacion similar, con la diferencia de que en el planoexisten regiones de Voronoi no acotadas mientras que en la esfera esto no es posible.Dichas regiones proceden de triangulos con aristas del cierre convexo, es decir, aristasque no forman parte de ningun otro triangulo de Delaunay. Esta situacion del planodebe ser tratada tambien en la esfera. Para ello, se emplea el cierre convexotridimensional, y se estudia si sus sımplices son Delaunay o no.

Se propone el siguiente algoritmo para calcular el diagrama de Voronoi sobre la esfera:

ALGORITMO sphereVoronoi(P)

ENTRADA: P = {p1, p2, ..., pn} conjunto de puntos en posicion general sobre laesfera. n ≥ 4

SALIDA: Diagrama de Voronoi de P sobre la esfera.

PASO 1: Calcular el cierre convexo tridimensional de P .

PASO 2: Calcular el vertice de Voronoi asociado a cada sımplice del cierre convexotridimensional: si el sımplice es Delaunay, el vertice de Voronoi es la proyeccion sobrela esfera del circuncentro del triangulo; en otro caso, el vertice de Voronoi es laproyeccion sobre la esfera del opuesto del circuncentro del triangulo.

PASO 3: Calcular los segmentos (geodesicos) que unen los vertices de Voronoiasociados a cada sımplice con los vertices de Voronoi asociados a sus sımplicesvecinos. (END)

Notese que no se ha tenido que determinar si los puntos se encuentran en posicioneuclıdea o no para calcular el diagrama. Sin embargo, esta comprobacion se podrıahacer para evitar realizar el test en el caso de encontrarse en posicion no euclıdea dadoque todos los triangulos serıan de Delaunay.

21

Page 30: Algoritmos geométricos sobre la esfera

A continuacion se analizara la complejidad del algoritmo sphereVoronoi :

PASO 1: Calculo del cierre convexo 3D. Usando un algoritmo optimo, como QuickHull, este paso tiene una complejidad de O(nlog(n)),

PASO 2: Computo de vertices de Voronoi. Calcular el vertice de Voronoi asociadoa cada sımplice implica estudiar si son de Delaunay o no (O(1) en el caso general,O(n) en casos degenerados) y calcular su circuncentro O(1). Esto supone unacomplejidad de O(h) en general, siendo h el numero de sımplices del cierre convexotridimensional.

PASO 3: Computo de segmentos (aristas) de Voronoi. Calcular los segmentosgeodesicos que conectan un vertice de Voronoi con sus vecinos cuesta O(1), gracias ala estructura del cierre convexo tridimensional proporcionada por Qhull. Luego estepaso tiene una complejidad de O(h), siendo h el numero de sımplices del cierreconvexo tridimensional.

COMPLEJIDAD TOTAL: O(nlog(n)) para el caso general; O(hn) para casosdegenerados, siendo h el numero de sımplices del cierre convexo tridimensional

22

Page 31: Algoritmos geométricos sobre la esfera

5.3. Ejemplos

Figura 11: Diagrama de Voronoi de 5 puntos en posicion euclıdea

Figura 12: Diagrama de Voronoi de 25 puntos en posicion no euclıdea

23

Page 32: Algoritmos geométricos sobre la esfera

Figura 13: Diagrama de Voronoi de 25 puntos en posicion euclıdea

Figura 14: Diagrama de Voronoi de 100 puntos en posicion no euclıdea

24

Page 33: Algoritmos geométricos sobre la esfera

6. CONCLUSIONES

En este trabajo de fin de grado se ha contribuido al estudio de las tres estructurasfundamentales de la Geometrıa Computacional (cierre convexo, triangulacion deDelaunay y diagrama de Voronoi), en el ambito de la superficie esferica. Se hanmencionado metodos que permiten calcular dichas estructuras, y propuesto nuevosalgoritmos geometricos basados en el cierre convexo tridimensional para realizardichos calculos sobre puntos en posicion general situados en la esfera. Ademas, losalgoritmos propuestos presentan una alta eficiencia dado que su complejidad engeneral es O(nlogn), inducida por el calculo del cierre convexo tridimensionalmediante algoritmos optimos.

Cabe destacar que los algoritmos presentados estan limitados por precision numericaen el contexto de esta ciencia, dado que los calculos que se usan (vectores normalesexteriores y volumenes signados) pueden dar lugar a resultados que un computadorpuede facilmente manejar incorrectamente por errores numericos. Es por esto por loque el trabajo se ha centrado en la posicion general de los puntos y no ha entrado endetalle en los casos degenerados que acentuan dichos errores numericos. En laimplementacion se han incluido modificaciones para evitar dichos errores numericos yaumentar su robustez algorıtmica, que consisten en no utilizar puntos que seanaproximadamente coplanarios a la hora de realizar los calculos.

Este trabajo puede servir de guıa para futuros estudios de dichas estructuras y susaplicaciones sobre la esfera y, por tanto, sobre el globo terraqueo, como pueden ser:geolocalizacion, reconstruccion 3D, generacion de mallas o planificacion de rutas,entre otras.

Para concluir, se presentan imagenes de las estructuras de cierre convexo,triangulacion de Delaunay y diagrama de Voronoi sobre el globo terraqueo.

25

Page 34: Algoritmos geométricos sobre la esfera

6.1. Resultados del globo terraqueo

A continuacion se muestran los resultados de aplicar los algoritmos geometricospropuestos a lo largo del trabajo a un conjunto de puntos que representan capitalesdel mundo, aproximando la Tierra a una esfera.1.

En verde: Londres y meridiano de Greenwich. En rojo: Madrid. En morado: ecuador.

Figura 15: Triangulacion de Delaunay de capitales (posicion no euclıdea)

(a) (b)

(c) (d)

1Los datos han sido extraıdos de un fichero atribuido a www.geognos.com, y cuyainformacion puede ser consultada en http://www.geognos.com/geo/en/countries-list/

world-capital-cities-coordinates-and-time-diffirence.html

26

Page 35: Algoritmos geométricos sobre la esfera

(e) Polo Norte (f) Polo Sur

Figura 16: Diagrama de Voronoi de capitales (posicion no euclıdea)

(a) Polo Norte (b) Polo Sur

27

Page 36: Algoritmos geométricos sobre la esfera

(c) (d)

(e) (f)

28

Page 37: Algoritmos geométricos sobre la esfera

6.1.1. Europa

En verde: Londres y meridiano de Greenwich. Punto azul en figura 17: Madrid. Puntorojo en el resto: Madrid. En morado: ecuador.

Figura 17: Cierre convexo de capitalesde Europa (posicion euclıdea)

Figura 18: Triangulacion de Delaunayde capitales de Europa

Cierre convexo: Malta,La Valeta; Guernsey,Saint Peter Port; Azerbaiyan,Baku;Kazajistan,Astana; Svalbard,Longyearbyen; Islandia,Reikiavik; Portugal,Lisboa;

Gibraltar,Gibraltar

Figura 19: Diagrama de Voronoi de capitales de Europa

29

Page 38: Algoritmos geométricos sobre la esfera

6.1.2. Africa

En verde: Nıger y meridiano de Greenwich. Punto azul: Marruecos. En morado: ecuador.

Figura 20: Cierre convexo de capitalesde Africa (posicion euclıdea)

Figura 21: Triangulacion de Delaunayde capitales de Africa

Cierre convexo: Cabo Verde,Praia; Santa Elena,Jamestown; Lesoto,Maseru;Mauricio,Puerto Louis; Seychelles,Victoria; Jordania,Aman; Angola,Luanda

Figura 22: Diagrama de Voronoi de capitales de Africa

30

Page 39: Algoritmos geométricos sobre la esfera

6.1.3. Asia

En verde: Japon y meridiano de Greenwich. Punto azul: China. En morado: ecuador.

Figura 23: Cierre convexo de capitalesde Asia (posicion euclıdea)

Figura 24: Triangulacion de Delaunayde capitales de Asia

Cierre convexo: Timor Oriental,Dili; Japon,Tokio; Rusia,Moscu; Turquıa,Ankara;Egipto,El Cairo; Yemen,Sana; Maldivas,Male; Indonesia,Yakarta

Figura 25: Diagrama de Voronoi de capitales de Asia

31

Page 40: Algoritmos geométricos sobre la esfera

6.1.4. Oceanıa

En verde: Nueva Zelanda y meridiano de Greenwich. Punto azul: Australia. En morado:ecuador.

Figura 26: Cierre convexo de capitalesde Oceanıa (posicion euclıdea)

Figura 27: Triangulacion de Delaunayde capitales de Oceanıa

Cierre convexo: Islas Cocos,West Island; Nueva Zelanda,Wellington; IslasPitcairn,Adamstown; Islas Marshall, Majuro; Islas Marianas del Norte,Saipan

Figura 28: Diagrama de Voronoi de capitales de Oceanıa

32

Page 41: Algoritmos geométricos sobre la esfera

6.1.5. America

En verde: Canada y meridiano de Greenwich. Punto amarillo: Chile. Punto azul: EstadosUnidos. En morado: Ecuador.

Figura 29: Cierre convexo de capitalesde America (posicion euclıdea)

Figura 30: Triangulacion de Delaunayde capitales de America

Cierre convexo: Groenlandia,Nuuk; Brazil,Brasilia; Islas Malvinas,Stanley;Mexico,Ciudad de Mexico

Figura 31: Diagrama de Voronoi de capitales de America

33

Page 42: Algoritmos geométricos sobre la esfera
Page 43: Algoritmos geométricos sobre la esfera

7. BIBLIOGRAFIA

Referencias

[1] C. Grima, A. Marquez: “Computational Geometry on Surfaces”. Kluwer AcademicPublishers, 2001.

[2] M. de Berg et al.: “Computational Geometry, Algorithms and Applications”(ThirdEdition). Springer, 2008.

[3] H. Edelsbrunner: “Algorithms in Combinatorial Geometry”. Springer, 1987.

[4] F. Preparata, M. I. Shamos: “Computational Geometry: An Introduction”. Springer,1985.

[5] V. Sacristan: “Optimizacion Geometrica y Aplicaciones en Visibilidad”. Tesisdoctoral, Universidad Politecnica de Cataluna, 1997.

[6] N. Megiddo: “Linear-time algorithms for linear programming in R3 and relatedproblems”. SIAM J. Comput., 12:759-776, 1983.

[7] J. Wendel: “A problem in geometric probability”. Math. Scand., 2:109-111.

[8] K. Brown: “Geometric transformations for fast geometric algorithms”. PhD thesis,Dept. of Computer Science, Carnegie Mellon Univ.

[9] H-S. Na et al.: “Voronoi diagrams on the sphere”. Computational Geometry 23(2002) 183–194

35

Page 44: Algoritmos geométricos sobre la esfera

Este documento esta firmado porFirmante CN=tfgm.fi.upm.es, OU=CCFI, O=Facultad de Informatica - UPM,

C=ES

Fecha/Hora Sat Jun 11 16:03:50 CEST 2016

Emisor delCertificado

[email protected], CN=CA Facultad deInformatica, O=Facultad de Informatica - UPM, C=ES

Numero de Serie 630

Metodo urn:adobe.com:Adobe.PPKLite:adbe.pkcs7.sha1 (Adobe Signature)