estructuras de datos espaciales (topico especial)
DESCRIPTION
Esta fue la presentación final de mi tópico especial en estructuras de datos espaciales. Antes de que alguién lo mencione: Si, el ejemplo del B+ Tree tienen un error. El código está en: https://bitbucket.org/demiangutierrez/space Advertencia: No es una librería de estructuras de datos, no es estable, no tienen una buena API, tiene bugs, hay repetición, inconsistencias, etc. Es código que se escribió con fines académicos, no para producción. Algún día pretendo transformarlo en una librería (se acepta ayuda), pero es sucederá (si sucede) en un futuro muy lejano.TRANSCRIPT
![Page 1: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/1.jpg)
Estructuras de Datos EspacialesTópico Especial
Demián Gutierrez
Departamento de Computación
Septiembre 2013
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 1/119
![Page 2: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/2.jpg)
introducción
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 2/119
![Page 3: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/3.jpg)
¿qué tipos de datos vamos a manejar?
P1
P2
P3
P4
P5
L1
L2
L3
R1
R2
R3
R5
R6
R4
...generalmente en 2D, en 3D,y en algunos casos, también n-dimensionales
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 3/119
![Page 4: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/4.jpg)
¿qué operaciones vamos a realizar?¿qué problemas vamos a resolver?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 4/119
![Page 5: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/5.jpg)
“construir” una estrucura de datos en base a un conjunto de datos(puntos, líneas, rectángulos, etc)
insertar/eliminar elementos en una estructura de datos(no aplica a todas)
realizar algún tipo de consulta
realizar algún tipo de combinación, división, etc
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 5/119
![Page 6: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/6.jpg)
P1
P2
P3
P4
P5
L1
L2
L3
R1
R2
R3
R5
R6
R4
consultas:¿qué “formas” están contenidas en un área dada?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 6/119
![Page 7: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/7.jpg)
P1
P2
P3
P4
P5
L1
L2
L3
R1
R2
R3
R5
R6
R4
consultas:¿qué “formas” están contenidas en un área dada?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 7/119
![Page 8: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/8.jpg)
P1
P2
P3
P4
P5
L1
L2
L3
R1
R2
R3
R5
R6
R4
stabbing:¿qué “formas” son atravesadas por una recta dada?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 8/119
![Page 9: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/9.jpg)
P1
P2
P3
P4
P5
L1
L2
L3
R1
R2
R3
R5
R6
R4
stabbing:¿qué “formas” son atravesadas por una recta dada?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 9/119
![Page 10: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/10.jpg)
L1
L2
L3
L4
L5
L6
ordenamiento:¿qué “formas” están atrás (o adelante) de qué “formas”?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 10/119
![Page 11: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/11.jpg)
L1
L2
L3
L4
L5
L6
1
¿2 , 3?
4
5
6
ordenamiento:¿qué “formas” están atrás (o adelante) de qué “formas”?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 11/119
![Page 12: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/12.jpg)
P3
P2
P1
P4
P5
P6
P7
P8
P9
punto/objeto más cercano:¿cuál es el punto u objeto más cercano a un punto dado?
(no tratado en el presente tópico especial)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 12/119
![Page 13: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/13.jpg)
P3
P2
P1
P4
P5
P6
P7
P8
P9
¿se ve trivial?¿qué algoritmo se les ocurre?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 13/119
![Page 14: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/14.jpg)
P3
P2
P1
P4
P5
P6
P7
P8
P9
k=3
una variante:¿cuáles son los k-puntos más cercanos?(no tratado en el presente tópico especial)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 14/119
![Page 15: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/15.jpg)
P3
P2
P1
P4
P5
P6
P7
P8
P9
par de puntos más cercanos:dado un conjunto de puntos ¿cuál es el par de puntos más
cercanos entre si?(no tratado en el presente tópico especial)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 15/119
![Page 16: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/16.jpg)
P3
P2
P1
P4
P5
P6
P7
P8
P9
¿se ve trivial?¿qué algoritmo se les ocurre?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 16/119
![Page 17: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/17.jpg)
búsqueda de patrones y grupos / clasificación:¿qué patrones o grupos existen en un conjunto de puntos?
¿dado un nuevo punto ¿a qué grupo pertenece?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 17/119
![Page 18: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/18.jpg)
tomado de:https://onramps.instructure.com/courses/723227/wiki/classifying-data
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 18/119
![Page 19: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/19.jpg)
clasificación / compresión:¿qué áreas o bloques contienen información
similar o del mismo tipo?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 19/119
![Page 20: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/20.jpg)
tomado de:http://ivrg.epfl.ch/supplementary_material/RK_SIGGRAPH_Asia09
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 20/119
![Page 21: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/21.jpg)
pathfinding:¿camino óptimo del punto A al punto B? ¿hay un camino?
¿cómo explotar ciertas características espaciales para optimizaralgoritmos tradicionales de búsqueda?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 21/119
![Page 22: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/22.jpg)
muchas otrasen general, las estructuras de datos espaciales
tienen un campo de aplicación extremadamente ámplio
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 22/119
![Page 23: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/23.jpg)
objetivos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 23/119
![Page 24: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/24.jpg)
implementar un conjunto de estructuras de datosespaciales para aprender lo más posible sobre el tema
sentar las bases de lo que puede ser en el futuro unabiblioteca de estructuras de datos espaciales y geometría
computacional escrita en Java
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 24/119
![Page 25: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/25.jpg)
plan inicial de trabajo
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 25/119
![Page 26: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/26.jpg)
basado principalmente en el libro deHanan Samet,
The Design and Analisys of Spatial Data Structures+ BSPs (binary space partition)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 26/119
![Page 27: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/27.jpg)
Point Data
Nonhierarchical Data Structures
Point Quadtrees
K-D Trees
Range Trees
Region Based Quadtrees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 27/119
![Page 28: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/28.jpg)
Collection of Small Rectangles
Plane-Sweep Methods and the Rectangle Intersection Problem
Multiple Quadtree Block Representations
R-Trees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 28/119
![Page 29: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/29.jpg)
Volume Data
Region Octrees
PM Octrees
BSP (Binary Space Partition)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 29/119
![Page 30: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/30.jpg)
Algunos Extras/Aplicaciones
Hierarchical A*
Marching Squares
Convex Hull (Polígono/Casco Convexo)
Algoritmo de Douglas-Peucker (Suavizado de Polígonos)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 30/119
![Page 31: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/31.jpg)
point quadtrees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 31/119
![Page 32: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/32.jpg)
son el equivalente, en 2D de un árbol binario de búsqueda
1 3
2
4
5
6
8
7 9
10
11
12
14
13 15
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 32/119
![Page 33: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/33.jpg)
cada punto en un Point Quadtreedivide el espacio en cuatro cuadrantes
P1
NW NE
SESW
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 33/119
![Page 34: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/34.jpg)
la división del espacio se hace recursivamentepor cada punto que se inserta
P1
NE
SESW
P2
NW
NW NE
SESW
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 34/119
![Page 35: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/35.jpg)
el resultado es una estructura “arborea”,donde cada nodo tiene cuatro hijos
NW NE SW SENW NE SW SE NW NE SW SE NW NE SW SE
NW NE SW SE
...
esta “forma” es bastante común y se verátambién en otras estructuras
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 35/119
![Page 36: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/36.jpg)
la estrategia de búsqueda consiste en encontrar característicasgeométricas que permitan descartar caminos completos para así
“podar” ramas completas
NW NE SW SENW NE SW SE NW NE SW SE NW NE SW SE
NW NE SW SE
...
esta estrategia es usada también en otras estructuras “arboreas”
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 36/119
![Page 37: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/37.jpg)
la eliminación, es una operación más compleja que en un árbolbinario de búsqueda (1/3)
1 3
2
4
5
6
8
7 9
10
11
12
14
13 15
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 37/119
![Page 38: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/38.jpg)
la eliminación, es una operación más compleja que en un árbolbinario de búsqueda (2/3)
1 3
2
5
4
6
8
7 9
10
11
12
14
13 15
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 38/119
![Page 39: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/39.jpg)
la eliminación, es una operación más compleja que en un árbolbinario de búsqueda (3/3)
1 3
2
5
6
8
7 9
10
11
12
14
13 15
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 39/119
![Page 40: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/40.jpg)
si se analiza el siguiente point quadtree
P1
P2
P3
P4
P5
P6
P7
P8
P9
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 40/119
![Page 41: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/41.jpg)
se obtiene el siguiente árbol
... ... P7 ...... ... ... P6 ... P8 ... ... P9 ... ... ...
P2 P3 P4 P5
P1
si queremos eliminar P1, ¿quién es el sucesor o el predecesor?¿con quién se intercambia el nodo que queremos eliminar?
¿hay un orden natural en los datos?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 41/119
![Page 42: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/42.jpg)
en este caso, ¿con quién intercambiamos P1?
P1
P6
P7
P8
P9
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 42/119
![Page 43: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/43.jpg)
¿y en este caso? ¿con quién intercambiamos P1?
P1
P6 P
7
P8
P9
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 43/119
![Page 44: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/44.jpg)
¿y en este otro caso? ¿con quién intercambiamos P1?
P1
P6 P
7
P8
P9
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 44/119
![Page 45: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/45.jpg)
buscar un nodo e insertar un hijo tiene un costo promedio deO(log4N)
el peor caso en la búsqueda de un rango es de O(2N1/2)
eliminación (algoritmo simple): se busca el nodo a eliminar(O(log4N)) y se reinsertan los nodos que están por debajo delnodo eliminado (¿O((M +1)log4N), donde M es el número de
hijos del nodo eliminado?)
eliminación (algoritmo complejo): hay algoritmos más complejos ydifíciles de implementar que reducen la cantidad de nodos que es
necesario reinsertar
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 45/119
![Page 46: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/46.jpg)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 46/119
![Page 47: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/47.jpg)
10.000 nodos (ver la barra de estado de la captura de pantalla)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 47/119
![Page 48: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/48.jpg)
k-d-trees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 48/119
![Page 49: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/49.jpg)
cada punto divide el espacio en dos “semiespacios”
P1
x<=Px1
x> Px1
la división se hace usando sólo una de las coordenadas del puntoy una línea paralela a uno de los ejes
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 49/119
![Page 50: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/50.jpg)
la coordenada y el eje seleccionados para hacer la divisióndependen del nivel del punto dentro del árbol que conforma la
estructura de datos
P1
x<=Px1
x> Px1
y<=Py2
y> Py2
P2
P3
y<=Py3
y> Py3
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 50/119
![Page 51: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/51.jpg)
para niveles impares se utiliza la coordenada X del punto y ladivisión se hace paralela al eje Y, de lo contrario, se utiliza la
coordenada Y y la división se hace paralela al eje X
P1
P2 P3
... ...
P4
... ...
P5
... ...
P6
... ...
P7
x<=Px1
x> Px1
y<=Py2
y> Py2
y<=Py3
y> Py3
x <= > <= > <= > <= >
L1: XL2: YL3: XL4: Y
...
esta idea puede fácilmente extenderse a datosmultidimensionales
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 51/119
![Page 52: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/52.jpg)
buscar un nodo e insertar un hijo tiene un costo promedio deO(log2N)
el peor caso en la búsqueda de un rango es de O(kN1−1/k),donde k es el número de claves o dimensión del árbol
eliminación: la eliminación es un algoritmo complejo, tienesimilitud con la eliminación en un árbol binario.
la cota máxima de eliminar un nodo seleccionado aleatoriamentees O(log2N), siendo el peor caso eliminar la raiz, que es
linealmente acotado
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 52/119
![Page 53: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/53.jpg)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 53/119
![Page 54: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/54.jpg)
10.000 nodos (ver la barra de estado de la captura de pantalla)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 54/119
![Page 55: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/55.jpg)
point region quadtree
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 55/119
![Page 56: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/56.jpg)
dada una región bien definida
usualmente un rectángulo cuyos lados miden 2n
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 56/119
![Page 57: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/57.jpg)
el espacio se divide recursivamente en cuatro partes según seanecesario, de tal forma que cada parte tenga 1/4 del área del
rectángulo inicialmente definido
P1
el rectángulo inicial corresponde al nodo raiz del árbol,cada división corresponde a un nodo hijo
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 57/119
![Page 58: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/58.jpg)
en algunos casos no es necesario hacer ninguna división, porqueel punto insertado corresponde a un nodo vacío
P1
P2
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 58/119
![Page 59: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/59.jpg)
las divisiones se hacen recursivamente a medida que se insertanpuntos. . .
P1
P2
P3
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 59/119
![Page 60: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/60.jpg)
garantizando que siempre haya sólo un punto por nodo
P1
P2
P3
P4
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 60/119
![Page 61: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/61.jpg)
esto puede traer algunos problemas
¿cómo se resuelven?
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 61/119
![Page 62: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/62.jpg)
Plane-Sweep Methods and the RectangleIntersection Problem
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 62/119
![Page 63: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/63.jpg)
PROBLEMA:¿Qué rectángulos se intersectan con qué rectángulos?
R1
R2
R3
R4
R5
R6
R7
R8
Solución ingenua, todos contra todos (muy poco eficiente)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 63/119
![Page 64: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/64.jpg)
Dada una línea, alineada con el eje X se puede “barrer” el planode izquierda a derecha
R1
R2
R3
R4
R5
R6
R7
R8
Las coordenadas de inicio y de fin en X de cada rectángulo sepueden almacenar en un árbol binario de búsqueda (o alguna
otra estructura similar) para mantener un orden
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 64/119
![Page 65: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/65.jpg)
Cuando se encuentra un rectángulo, se añade a una estructurade datos adicional, pero esta vez, ordenada por el inicio y el fin
en Y de cada rectángulo
R1
R2
R3
R4
R5
R6
R7
R8
R1
Por la naturaleza del barrido en X se sabe que cada rectánguloen la estructura de datos adicional se intersectan al menos en X
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 65/119
![Page 66: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/66.jpg)
Cada vez que se añade un elemento a la estructura de datosadicional se verifica si el rectángulo nuevo se intersecta con
alguno de los rectángulos previamente insertados
R1
R2
R3
R4
R5
R6
R7
R8
R1, R
2
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 66/119
![Page 67: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/67.jpg)
Si se encuentra una intersección en Y, entonces se sabe queambos rectángulos se intersectan en el espacio
R1
R2
R3
R4
R5
R6
R7
R8
R1, R
2, R
3
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 67/119
![Page 68: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/68.jpg)
Cuando el barrido en X llega al final de un rectángulo, lo remuevede la estructura de datos adicional
R1
R2
R3
R4
R5
R6
R7
R8
R2, R
3
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 68/119
![Page 69: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/69.jpg)
etc. . .
R1
R2
R3
R4
R5
R6
R7
R8
R3
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 69/119
![Page 70: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/70.jpg)
etc. . .
R1
R2
R3
R4
R5
R6
R7
R8
R3, R
4
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 70/119
![Page 71: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/71.jpg)
etc. . .
R1
R2
R3
R4
R5
R6
R7
R8
R4
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 71/119
![Page 72: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/72.jpg)
Multiple Quadtree Block Representations
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 72/119
![Page 73: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/73.jpg)
. . .
dada una región bien definida,usualmente rectangular
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 73/119
![Page 74: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/74.jpg)
. . .
R1
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 74/119
![Page 75: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/75.jpg)
. . .
R1
R2
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 75/119
![Page 76: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/76.jpg)
. . .
R3
R1
R2
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 76/119
![Page 77: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/77.jpg)
. . .
R3
R4
R1
R2
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 77/119
![Page 78: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/78.jpg)
. . .
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 78/119
![Page 79: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/79.jpg)
R-Trees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 79/119
![Page 80: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/80.jpg)
para entender un R-Tree, es necesario entender un B+ Tree
5 5 7 5 7 97 9
11 5 7 9 11 Oops... 5 7 9 11
5 7 9 11
9...
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 80/119
![Page 81: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/81.jpg)
5 7 9 11
9
5 7 8 9 11
98
5 7 86 9 11
96
5 6 7 8
7 9...
9 11
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 81/119
![Page 82: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/82.jpg)
5 6 7 8
7 9
9 11
4 653 7 8
7 9
9 11
3, 4
43 7 8
5 7 9
9 11
...
5 6
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 82/119
![Page 83: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/83.jpg)
eventualmente, no sólo se desborda un nodo hoja sino quetambién se desborda un nódo interno
43 7 8
5 7 9
9 115 6
43 7 8
5 7 9
9 11 12 13
12, 13
5 6
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 83/119
![Page 84: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/84.jpg)
en ese momento, el árbol crece un nively al mismo tiempo se mantiene balanceado
43 7 8
5 7 9 12
9 11
...
5 6 12 13
43 7 8
9 12
9 11
...
5 6 12 13
5
7
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 84/119
![Page 85: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/85.jpg)
un R-Tree funciona de forma similar, salvo por el hecho de que noexiste un orden absoluto en los datos a almacenar
a b c
a
b
c
a
b
c
d
w x
a c b d
a
b
c
d
e
f
w x
a c e b d f
es perfectamente válido que los rectángulos se solapen entre sí
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 85/119
![Page 86: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/86.jpg)
a medida que se insertan nodos, estos se van agrupando enzonas rectangulares, que a su vez se agrupan en zonas
rectangulares y así de forma recursiva.
w y x
c e b d fa g w y
c e b fa g d h
x z
u v
a
b
c
d
e
f
g
w
y x
a
b
c
d
e
f
g h
y x vu
wz
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 86/119
![Page 87: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/87.jpg)
dos de las heurísticas principales usadas para agruparrectángulos
a
c e
g
a
c e
g
a
c e
g
a
c e
g
(1)
(2)
(1) minimizar el área de los rectángulos y (2) minimizar el área ola cantidad de intersecciones de los rectángulos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 87/119
![Page 88: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/88.jpg)
también es posible tener r-trees en 3D(tomado de wikipedia)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 88/119
![Page 89: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/89.jpg)
Octrees
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 89/119
![Page 90: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/90.jpg)
son estructuras muy similares a los quadtrees, pero en 3D
en lugar de dividir el plano en 4 partes como en los quadtrees,el espacio se divide en 8 partes
(http://en.wikipedia.org/wiki/File:Octree2.svg)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 90/119
![Page 91: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/91.jpg)
los órdenes de ejecución son similares a los de los respectivosquadtrees, sólo que en lugar de usar log4 se usa log8
(por razones evidentes)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 91/119
![Page 92: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/92.jpg)
Binary Space PartitioningBSP
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 92/119
![Page 93: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/93.jpg)
en un mundo plano, desde el punto de vista de la cámara,tenemos que “dibujar” los siguientes segmentos
L1
L2
L2 , L
1
L1 , L
2
dependiendo del orden en que se dibujen se obtienendistintos resultados, sólo hay un orden correcto
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 93/119
![Page 94: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/94.jpg)
sin embargo, aquí tenemos un problema:
L1
L2
L2 , L
1
L1 , L
2
correcto
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 94/119
![Page 95: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/95.jpg)
para resolverlo, es necesario “cortar” uno de los segmentos,transformándolo en dos segmentos distintos
L1
L2
L3
Correcto: L3 , L
2 , L
1
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 95/119
![Page 96: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/96.jpg)
BSP 2D: Prestar atención al punto amarillo (1/2)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 96/119
![Page 97: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/97.jpg)
BSP 2D: Prestar atención al punto amarillo (2/2)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 97/119
![Page 98: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/98.jpg)
BSP 3D
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 98/119
![Page 99: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/99.jpg)
Algunos “Extras"
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 99/119
![Page 100: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/100.jpg)
desde hace algún tiempo, me interesa mucho el problema de labúsqueda de caminos
después de todo, si se desea implementar un “ambiente virtual” oun buen juego masivo multijugador de rol es importante tener una
buena IA, y para esto es muchas veces es crítico tener unabuena búsqueda de caminos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 100/119
![Page 101: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/101.jpg)
con mapas pequeños, es fácil y eficiente buscar caminos entredos puntos usando Dijkstra, una búsqueda por amplitud o A*
Tomado de:http://theory.stanford.edu/ amitp/GameProgramming/
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 101/119
![Page 102: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/102.jpg)
con un mapa grande tenemos problemas de rendimientocada pixel es un nodo: 1024 nodos por 1024 nodos = 1048576
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 102/119
![Page 103: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/103.jpg)
Dijkstra: 6.9 segundos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 103/119
![Page 104: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/104.jpg)
A*: 3.6 segundos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 104/119
![Page 105: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/105.jpg)
una posible solución. . .
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 105/119
![Page 106: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/106.jpg)
A* jerárquico: 0.15 segundos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 106/119
![Page 107: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/107.jpg)
el problema también se puede atacar desde otro punto de vista
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 107/119
![Page 108: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/108.jpg)
el mapa originalTomado de: http://www.ai-blog.net/archives/000152.html
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 108/119
![Page 109: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/109.jpg)
una posibilidad es usando waypoints,pero esta estrategia trae muchos problemas
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 109/119
![Page 110: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/110.jpg)
la mejor solución es usando mallas de navegación,pero el problema es construir las mallas para cada mapa
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 110/119
![Page 111: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/111.jpg)
recast: genera automáticamente mallas de navegacióndetour: calcula caminos en función de las mallas de navegación
http://www.mooncollider.com/recast-and-detour/
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 111/119
![Page 112: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/112.jpg)
mi intento:En 2D y es un trabajo en progreso. . .
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 112/119
![Page 113: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/113.jpg)
calcular los contornos de las paredes y obstáculos(usando marching squares)
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 113/119
![Page 114: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/114.jpg)
marching squares: casos posibles
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 114/119
![Page 115: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/115.jpg)
marching squares: detalle de la imagen
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 115/119
![Page 116: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/116.jpg)
bien, pero: ¿cual es el problema con el “marching squares”?ver la imagen a detalle:
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 116/119
![Page 117: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/117.jpg)
para resolver el problema, se implementó el algoritmo de DouglasPeucker, que básicamente sirve para simplificar polígonos
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 117/119
![Page 118: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/118.jpg)
aún quedan algunos problemas que resolver
pero la idea es, una vez que se resuelva el problema de loscontornos, aplicar una Triangulación Delaunay y usar el resultado
como malla de navegación
to be continued. . .
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 118/119
![Page 119: Estructuras de Datos Espaciales (Topico Especial)](https://reader034.vdocuments.mx/reader034/viewer/2022051514/549f8375ac79592e768b4a26/html5/thumbnails/119.jpg)
¿Futuro?
Continuar desarrollando la colección de estructuras de datos yalgoritmos para transformarla en una biblioteca de estructuras de
datos espaciales y algoritmos de geometría computacional
Demián Gutierrez Universidad de Los Andes
Estructuras de Datos Espaciales 119/119