Geometría Computacional y Grafos
Desde 1988 se vienen realizando, en el Departamento de Matemática
Aplicada, Trabajos Fin de Carrera dentro de los campos de la Geometría
Computacional y de la Teoría de Grafos, y dirigidos por los profesores
Manuel Abellanas Oar y Gregorio Hernández Peñalver.
Como fruto de estos trabajos se han obtenido aplicaciones que implementan
algoritmos sobre distintos problemas del área.
Las implementaciones se han realizado en diferentes lenguajes de programación.
En los últimos años, las applets o aplicaciones Java permiten
ejecutar directamente en la red los programas, pero los trabajos anteriores
al 2000 necesitan descargar la aplicación, instalarla en el propio
ordenador y ejecutarla. A continuación, se presentan, agrupados por
temas y comprimidos en uno o varios archivos, los programas desarrollados
en estos años.
CIERRE CONVEXO Y APLICACIONES EN 2-D
- Un programa con casi todos los algoritmos de cálculo del
cierre convexo de una nube de puntos se encuentra en los archivos disco1.zip
, disco2.zip
y disco3.zip
. Una vez descomprimidos necesita instalación. (Juan Manuel Garrido)
- akl_tous.zip
presenta (en MS-DOS) el algoritmo de Akl y Toussaint.
- calibres.zip
es una implementación (en MS-DOS) de un algoritmo para calcular
la anchura de un conjunto de puntos por el método de los calibres.
(Emilio Aguilar, 10-94)
- bisector.zip
presenta un algoritmo para calcular el bisector óptimo de una nube
de puntos. (Israel Martín, 11-96)
- puntmax.zip
implementa (en MS-DOS) los algoritmos para calcular los puntos maximales
orientados y no orientados de nubes de puntos y de polígonos. (Ángel
Arroyo, 19-2-96)
- PMaximalWin
presenta varios algoritmos para calcular los puntos maximales de una nube
de puntos. (Pedro Fidel Sánchez, Miguel Ángel Valero, 9-98)
- ortoconv.zip
presenta varios algoritmos para calcular el cierre ortoconvexo de polígonos
ortogonales. (Juan Carlos Marcos, 18-5-98)
- En el archivo LeeMelkman.zip
se encuentra un programa con los algoritmos de Lee y Melkman para obtener
el cierre convexo de un polígono. Una vez descomprimido necesita
instalación. (Sonia Ochando, 25-6-99)
En un applet de Java se presentan algunos ejemplos Cierre
Convexo y Polígonos
- Recta
centro. Se
resuelve el problema de localizar la recta que minimiza la distancia
máxima a una nube de puntos en el plano. (José I.
Fernández, 10-4-02)
- Cierre
convexo. Implementación en Java de los algoritmos de Graham, jarvis
y divide y vencerás para el cálculo del cierre convexo de
una nube de puntos. Además construye las capas convexas y la triangulación
correspondiente. (Marcos A. Niño, 11-02-05)
POLÍGONOS
- geowin.zip
construye diferentes poligonizaciones (estrellada, monótona, monótona
semiconvexa, cebolla) de una nube de puntos. (Patricia Mantecón,
3-93)
- polvacio.zip
construye, dada una nube de puntos, todos los polígonos convexos
de r lados cuyos vértices son puntos de la nube y que no contiene
en su interior ningún punto de la nube. (Fernando Razola, 30-1-96)
-
Camino
mínimo en un entorno poligonal . Construye el camino de longitud
mínima que debe seguir un robot puntual en presencia de obstáculos
poligonales. (Nuria Navarro, 7-9-01)
-
Partición
de polígonos en piezas convexas. Descompone un polígono
en polígonos convexos siguiendo el algoritmo de Hertel y Mehlhorn.
(Esther Lameiro, 21-6-02)
- Sumas
de Minkowski de polígonos. Herramienta para el cálculo
y la visualización de la Suma de Minkowski de dos polígonos
cualesquiera. (Gustavo Kavka y Mª Teresa Taranilla, Departamento de
Informática, Universidad Nacional de San Luis, Argentina. 31-7-02)
- reco_pol.zip
detecta si un polígono dado es monótono o estrellado. (Javier
Méndez, 28-7-04)
BÚSQUEDA EN SUBDIVISIONES PLANAS
- kirkpat.zip
presenta el algoritmo de Kirkpatrick de búsqueda en subdivisiones
planas. (El archivo kirk16.exe se ejecuta en Windows 3.1 y kirk32.exe
en Windows 95). (Raúl Cecilia, 19-9-97)
- LSM-Programa.zip
implementa los algoritmos de localización en subdivisiones planas
basados en la descomposición en regiones monótonas.
-
Algoritmo de Kirkpatrick de localización de puntos en triangulaciones
(en Java). (Gema Perez Perales, 3-03)
TRIANGULACIONES DE POLÍGONOS. APLICACIONES
- Un programa con casi todos los algoritmos de triangulación
de polígonos se encuentra en los archivos tripol1.zip
y tripol2.zip
. Una vez descomprimidos en el mismo directorio necesita instalación
(Mª Ángeles Almodóvar y Lorenza López, 4-12-00)
- tri_leda.zip
triangula un polígono por el algoritmo de Garey-Johnson,
utilizando la biblioteca LEDA. (Mariano Sanz, 1-96)
- mangas.zip
implementa dos algoritmos de triangulación de polígonos:
el algoritmo de Kong, Everett y Toussaint de poda de orejas y el algoritmo
de Toussaint de mangas. (Rafael González, 21-2-97)
- camino_m.zip
construye, a partir de la triangulación el camino de longitud mínima
entre dos puntos cualesquiera de un polígono. (Carlos Gómez,
25-3-99)
- PolVisLado.zip
construye, a partir de la triangulación, el polígono de
visibilidad desde un lado. (Rocío Vázquez, 5-10-99)
- caminogeodesico.zip
construye los caminos geodésicos entra cada par de puntos en el interior
de un polígono. (Jaime González, 21-7-00)
- Triangulación
de Delaunay de un polígono. Construye la triangulación
de Delaunay de un polígono mediante flips a partir de la triangulación
por otectomía. (Laura Blázquez, 9-7-02)
DIAGRAMAS DE VORONOI Y TRIANGULACIONES DE DELAUNAY en 2-D
- voronoip.zip
presenta varios algoritmos (incremental, divide y vencerás, etc.)
para construir el Diagrama de Voronoi de una nube de puntos sin pesos asociados
o con ellos (diagrama de potencias). También construye la triangulación
de Delaunay. (Todo ello en MS-DOS). (Juan Andrés Hermoso, Raúl
Rodrigo, Ramón Revuelta, 6-95)
- fortune.zip
presenta el algoritmo de barrido de Fortune para construir el diagrama
de Voronoi de una nube de puntos. (Oscar Morales, 10-96)
- isolinea.zip
construye las curvas de nivel de una superficie a partir de una nube de
datos puntuales sobre ella. (Jesús Mouriz, 1-95)
- En los archivos flips1.zip
, flips2.zip
y flips3.zip
se encuentra un programa que construye la triangulación de Delaunay
de una nube de puntos con el algoritmo de intercambio de aristas (flips).
Una vez descomprimidos necesita instalación. (Javier Larrauri,
11-97)
-
Diagrama
de Voronoi. Algoritmo de Fortune . Visualización interactiva
del algoritmo de barrido para la construcción del Diagrama de Voronoi
de una nube de puntos. (Juan Carlos Ferreras, 29-12-00)
- En el archivo voronoiL1.zip
se encuentra un programa que construye el diagrama de Voronoi para la métrica
L1. (Jesús Barrios, 6-7-01)
- Intercambio
de aristas en grafos geométricos. Estudian los "flips" o intercambios
de aristas sobre varios grafos geométricos: triangulaciones de Delaunay
de una nube de puntos, cadenas poligonales y polígonos convexos.
(Ulises Berzal y Jorge de Diego, 24-7-01)
-
Diagrama
de Voronoi. Círculos creciendo . Muestra la construcción
del Diagrama de Voronoi (y la Triangulación de Delaunay) de una
nube de puntos en el plano observando el crecimiento de la zona de influencia
de cada punto. (Fernando Mena, 24-2-03)
- Modelización
del terreno mediante Triangulacion de Delaunay. Muestra las curvas de
nivel y los diferentes perfiles de un terreno a partir de la triangulación
de Delaunay de una muestra de puntos del terreno. (Juan A. Hortigüela,
24-2-03)
- Triangulación
de Delaunay con diferentes métricas . Utilizando la propiedad
de que las aristas Delaunay están contenidas en círculos
vacíos de puntos de la nube, esta aplicación permite obtener
"a mano" la triangulación de Delaunay con diferentes métricas.
(David Íscar, 22-2-02)
- Diagrama
de Voronoi lejano. Construye el Diagrama de Voronoi de orden n-1 o
Diagrama de Voronoi lejano. (Manuel Romero, 4-12-02)
- Furthest Point
Voronoi Diagram. Construye el Diagrama de Voronoi lejano y el mínimo
círculo que contiene una nube de puntos. (Paul Herron, 15-9-03)
TRIANGULACIONES DE NUBES DE PUNTOS
- trinubes.zip
presenta varios algoritmos para construir triangulaciones de nubes de
puntos en 2D (Los algoritmos implementados son: fuerza bruta, abanico,
incremental, Delaunay, inserción de aristas). (Tomás Olivera,
11-01)
- Triangulaciones
de nubes de puntos . Muestra (en Java) varios algoritmos para triangular
nubes de puntos en el plano: Abanico, incremental, divide y vencerás
y triangulación de Delaunay. (Luis Manuel Arteaga, julio 2002)
VISIBILIDAD E ILUMINACIÓN
- polvis.zip
calcula el polígono de visibilidad desde un punto interior a un
polígono (en MS-DOS).
DESCOMPOSICIÓN DE POLÍGONOS ORTOGONALES
(todos en Ms-Dos)
- sack.zip
presenta el algoritmo de Sack y Toussaint para descomponer un polígono
ortogonal en cuadriláteros convexos. (Blanca Carballo, 11-7-95)
- lubiw.zip
presenta el algoritmo de Lubiw que permite descomponer un polígono
ortogonal (sin agujeros o con ellos) en cuadriláteros convexos.
(Alfonso Díaz-Regañón, 5-12-94)
- eles.zip
presenta el algoritmo de O´Rourke que descompone un polígono
ortogonal en piezas en forma de "ele". (Roberto Vaquerizo, 3-10-94)
MOSAICOS
- mosaico.zip
genera cada uno de los 17 tipos de teselaciones periódicas del
plano a partir de una imagen contenida en un archivo ".bmp" (Mª Teresa
Sánchez, 5-99)
ARREGLOS
- arreglos.zip
construye un arreglo de rectas y calcula sus niveles. (Mª Concepción
Fontalba, 10-99)
GEOMETRÍA DE RECTÁNGULOS
- georect.zip
estudia varios problemas sobre la unión de una familia de rectángulos,
perímetro, contorno, superficie, etc. (Luis Pérez, 9-96)
ALGORITMOS ALEATORIZADOS
- En los archivos aleatoriz1.zip
y aleato2.cab
se presenta una implementación de algoritmos aleatorizados que
resuelven los siguientes problemas:
- Mínimo disco que contiene una nube de puntos
- Triangulación de Delaunay de una nube de puntos
- Descomposición trapezoidal asociada a una nube de segmentos
(Una vez descomprimido el primer archivo hay que instalar el programa)
(Iván García, 30-11-99)
GRAFOS GEOMÉTRICOS
- Arboles
y círculos tangentes . Una vez dibujado un árbol, la
aplicación averigua si es un grafo de monedas, calculando un conjunto
de círculos, de interiores disjuntos, cuyo grafo de contactos es
el árbol dado. (Carlos Moreno Jiménez, 24-7-01)
- Intercambio
de aristas en grafos geométricos. Estudian los "flips" o intercambios
de aristas sobre varios grafos geométricos: triangulaciones de Delaunay
de una nube de puntos, cadenas poligonales y polígonos convexos.
(Ulises Berzal y Jorge de Diego, 24-7-01)
- Empaquetamiento
de círculos. Se estudian las configuraciones de círculos
iguales de radio máximo contenidos en regiones rectangulares. (Enrique
Bañales, 18-6-02)
- Juegos
geométricos con triangulaciones. Se plantean varios juegos de
dos jugadores basados en las triangulaciones de nubes de puntos. (Beatriz
Cortés, 26-5-04)
- Ruteo
en grafos geométricos . Diferentes estrategias de ruteo (greedy
routing, compass routing, randomized compass routing, Voronoi routing,
etc.) sobre triangulaciones de Delaunay, grafos de Gabriel y grafos de
vecindad relativa (David Ramos, 19-7-04)
TRAZADO DE GRAFOS (GRAPH DRAWING)
Actualizado el 24 de junio de 2005