5. ¿ Qué áreas pueden quedar
incomunicadas por el crecimiento
de los ríos?
¿ Qué aéreas potenciales para el
desarrollo del ganado están bajo
propiedad campesina ?
¿ Qué puentes son necesarios
construir o reparar ?
Ejemplo: Toma de Desiciones Regionales
8. Problema: Organizar la Información de un mapa
Los trazos de un mapa pueden ser curvos.
Las curvas pueden
ser representadas
por secuencias de
pequeños
segmentos.
9. Problema: Organizar la Información de un mapa
¿Existe alguna relación entre los segmentos que
representan el mapa?
Estructura candidata: Grafos.
10. Problema: Organizar la Información de un mapa
¿Existe alguna relación entre los segmentos que
representan el mapa?
Estructura candidata: Grafos.
Los extremos de
los segmentos
deben estar
conectados.
11. Problema: Organizar la Información de un mapa
Los grafos solo guardan información sobre los
vértices y las aristas que los conectan.
Problema: ¿Cómo determinar las áreas
adyacentes a un área determinada?
12. Problema: Organizar la Información de un mapa
Los grafos solo guardan información sobre los
vértices y las aristas que los conectan.
Problema: ¿Cómo determinar las áreas
adyacentes a un área determinada?
13. Problema: Organizar la Información de un mapa
Las áreas o caras del grafo pueden requerir estar
etiquetadas con alguna característica.
Terreno Irregular
Llanura
Zona Húmeda
? Llanos Húmedos
? Terrenos Irregulares
Húmedos
Las etiquetas de las caras resultantes de un
solapamiento de mapas son combinaciones de
las etiquetas de las caras que se solapan.
14. Problema: Organizar la Información de un mapa
Las áreas o caras del grafo pueden requerir estar
etiquetadas con alguna característica.
Terreno Irregular
Llanura
Zona Húmeda
? Llanos Húmedos
? Terrenos Irregulares
Húmedos
Las etiquetas de las caras resultantes de un
solapamiento de mapas son combinaciones de
las etiquetas de las caras que se solapan.
15. Problema: Organizar la Información de un mapa
Los mapas no son un conjunto de segmentos,
sino un conjunto de áreas etiquetadas por su
características tipológicas.
Su representación debe permitir realizar
operaciones de manera eficiente y tales como:
Determinar los límites de un área.
Conocer las áreas adyacentes a una cara.
Determinar las caras que confluyen en un vértice.
16. Determinada por un grafo
planar.
Es conexa si el grafo es
conexo
Los nodos del grafo son
considerados vértices y los
arcos aristas
Las caras están delimitadas
por las aristas y los vértices
Las caras pueden presentar
huecos
Mapas como una Subdivición Planar
17. Determinada por un grafo
planar.
Es conexa si el grafo es
conexo
Los nodos del grafo son
considerados vértices y los
arcos aristas
Las caras están delimitadas
por las aristas y los vértices
Las caras pueden presentar
huecos
Mapas como una Subdivición Planar
Vértice
Cara
Arista
Hueco
Subdivisión
no conexa
18. Geometría ComputacionalGeometría Computacional
DCEL : Doubly-Conected Edge List
Estructura de datos espacial para representar
subdivisiones planares.
Contiene una referencia por cada cara, arista y
vértice de una subdivisión.
Para cada referencia se almacena información
Geométrica: Coordenadas.
Topológica: Relación Vértices –Aristas.
Adicional: Etiquetas de las Caras.
25. Geometría ComputacionalGeometría Computacional
Lista Doblemente Conectada
Cada arista tiene una
referencia a su arista
previa y siguiente.
e
Prev(e)
Next(e) Las aristas delimitan las
caras. ¡Pero cada arista
delimita dos caras!
26. Geometría ComputacionalGeometría Computacional
Lista Doblemente Conectada
Cada arista tiene una
referencia a su arista
previa y siguiente.
e
Prev(e)
Next(e) Las aristas delimitan las
caras. ¡Pero cada arista
delimita dos caras!
Cada arista estará
compuesta por dos
semiaristas gemelas
orientadas en sentidos
opuestos.
27. Geometría ComputacionalGeometría Computacional
Lista Doblemente Conectada
Cada arista tiene una
referencia a su arista
previa y siguiente.
e
Prev(e)
Next(e) Las aristas delimitan las
caras. ¡Pero cada arista
delimita dos caras!
Cada arista estará
compuesta por dos
semiaristas gemelas
orientadas en sentidos
opuestos.
Twin(e)
28. Geometría ComputacionalGeometría Computacional
Lista Doblemente Conectada
Cada arista tiene una
referencia a su arista
previa y siguiente.
e
Prev(e)
Next(e) Las aristas delimitan las
caras. ¡Pero cada arista
delimita dos caras!
Cada arista estará
compuesta por dos
semiaristas gemelas
orientadas en sentidos
opuestos.
Twin(e)
Incluso la cara infinita
estará delimitada por
semiaristas.
32. Geometría ComputacionalGeometría Computacional
Caras y Huecos
El límite exterior de la
cara se recorre en sentido
anti horario.
El límite interior delimita
un hueco y es recorrido en
sentido horario.
La cara debe tener
referencias a los límites
interiores y al exterior.
33. Geometría ComputacionalGeometría Computacional
Caras y Huecos
El límite exterior de la
cara se recorre en sentido
anti horario.
El límite interior delimita
un hueco y es recorrido en
sentido horario.
La cara debe tener
referencias a los límites
interiores y al exterior.
36. Registro Vértices: v
Coordenas del vértice
IncidentEdge(v) : Referencia a una semiarista que
tiene como origen al vértice v.
Registro de Caras: f
OuterComponent(f) : Referencia a una semiarista del
límite exterior.
InnerCompoment(f) :Tantas referencias a semiaristas
como huecos tenga la cara.
Geometría ComputacionalGeometría Computacional
g
Estructura de la DCEL
37. Registro semiaristas: e
Origin(e) : Referencia al vértice origen.
Twing(e) : Referencia a su arista gemela.
IncidentFace(e) : Referencia a la cara que delimita
Prev(e) : Referencias a la semiarista anterior.
Next(e) : Referencias a la semiarista siguiente.
Geometría ComputacionalGeometría Computacional
Estructura de la DCEL
44. ¿Por qué basta con que un vértice tenga solo una
referencia a una semiarista que lo tenga como origen?
Dado un vértice
¿Cómo recorrer todas las semiaristas incidentes?
¿Cómo recorrer todas las caras incidentes?
Geometría ComputacionalGeometría Computacional
Estructura de la DCEL
45. ¿Por qué es necesario que cada cara tenga una referencia
por cada componente interior?
Dada una cara
¿Cómo saber cuantas aristas delimitan sus bordes?
¿Cómo recorrer todas caras adyacentes?
Geometría ComputacionalGeometría Computacional
Estructura de la DCEL
46. ¿Por qué solo es necesario que cada semiarista tenga una
referencia a su vértice de origen?
Dada una semiarista
¿Cómo saber el vértice de llegada?
¿Cómo saber si se encuentra en un límite interior o en un
límite exterior?
Geometría ComputacionalGeometría Computacional
Estructura de la DCEL
47. Del libro de texto Computational
Geometry, Algorithms and Applications
Estudiar Epígrafe 2.2, pág. 29
Realizar los ejercicios 2.5 – 2.9, pág. 42.
Geometría ComputacionalGeometría Computacional
Estudio independiente
48. Bibliografía base
MM. de Berg, M. van Kreveld, M. Overmars, O. Schawarzkopf:
Computational Geometry, Springer Verlag, 1997.
Geometría ComputacionalGeometría Computacional