48
Geometría Computacional: DCEL Maikel Arcia Miguel Sancho

Geometría computacional: Doubly Connected Edge List (DCEL)

Embed Size (px)

Citation preview

Page 1: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría Computacional: DCEL

Maikel Arcia

Miguel Sancho

Page 2: Geometría computacional: Doubly Connected Edge List (DCEL)

Ríos

Calles

Ejemplo: Toma de Desiciones Regionales

Page 3: Geometría computacional: Doubly Connected Edge List (DCEL)

Ríos

Calles

Ejemplo: Toma de Desiciones Regionales

Posibles Puentes

Page 4: Geometría computacional: Doubly Connected Edge List (DCEL)

Ríos

Calles

Posibles Puentes

Posibles áreas para

el desarrollo de

Granjas Productoras

de Leche.

Ejemplo: Toma de Desiciones Regionales

Page 5: Geometría computacional: Doubly Connected Edge List (DCEL)

¿ 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

Page 6: Geometría computacional: Doubly Connected Edge List (DCEL)

Problema: Organizar la Información de un mapa

Los trazos de un mapa pueden ser curvos.

Page 7: Geometría computacional: Doubly Connected Edge List (DCEL)

Problema: Organizar la Información de un mapa

Los trazos de un mapa pueden ser curvos.

Page 8: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 9: Geometría computacional: Doubly Connected Edge List (DCEL)

Problema: Organizar la Información de un mapa

¿Existe alguna relación entre los segmentos que representan el mapa?

Estructura candidata: Grafos.

Page 10: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 11: Geometría computacional: Doubly Connected Edge List (DCEL)

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?

Page 12: Geometría computacional: Doubly Connected Edge List (DCEL)

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?

Page 13: Geometría computacional: Doubly Connected Edge List (DCEL)

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 IrregularesHúmedos

Las etiquetas de las caras resultantes de un solapamiento de mapas son combinaciones de las etiquetas de las caras que se solapan.

Page 14: Geometría computacional: Doubly Connected Edge List (DCEL)

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 IrregularesHúmedos

Las etiquetas de las caras resultantes de un solapamiento de mapas son combinaciones de las etiquetas de las caras que se solapan.

Page 15: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 16: Geometría computacional: Doubly Connected Edge List (DCEL)

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

Page 17: Geometría computacional: Doubly Connected Edge List (DCEL)

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

AristaHueco

Subdivisión

no conexa

Page 18: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 19: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

Page 20: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

Page 21: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

Page 22: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

Page 23: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

Page 24: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

ePrev(e)

Next(e)

Page 25: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

ePrev(e)

Next(e) Las aristas delimitan las caras. ¡Pero cada arista delimita dos caras!

Page 26: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

ePrev(e)

Next(e) Las aristas delimitan las caras. ¡Pero cada arista delimita dos caras!

Cada arista estará compuesta por dossemiaristas gemelas orientadas en sentidos opuestos.

Page 27: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

ePrev(e)

Next(e) Las aristas delimitan las caras. ¡Pero cada arista delimita dos caras!

Cada arista estará compuesta por dossemiaristas gemelas orientadas en sentidos opuestos.

Twin(e)

Page 28: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

Cada arista tiene una referencia a su arista previa y siguiente.

ePrev(e)

Next(e) Las aristas delimitan las caras. ¡Pero cada arista delimita dos caras!

Cada arista estará compuesta por dossemiaristas gemelas orientadas en sentidos opuestos.

Twin(e)

Incluso la cara infinita estará delimitada por semiaristas.

Page 29: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Caras y Huecos

Page 30: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

Caras y Huecos

El límite exterior de la cara se recorre en sentido anti horario.

Page 31: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 32: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 33: Geometría computacional: Doubly Connected Edge List (DCEL)

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.

Page 34: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

El concepto de hueco es relativo

Page 35: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

El concepto de hueco es relativo

Page 36: Geometría computacional: Doubly Connected Edge List (DCEL)

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 semiaristascomo huecos tenga la cara.

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL

Page 37: Geometría computacional: Doubly Connected Edge List (DCEL)

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

Page 38: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 39: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 40: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 41: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 42: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 43: Geometría computacional: Doubly Connected Edge List (DCEL)

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Page 44: Geometría computacional: Doubly Connected Edge List (DCEL)

¿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

Page 45: Geometría computacional: Doubly Connected Edge List (DCEL)

¿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

Page 46: Geometría computacional: Doubly Connected Edge List (DCEL)

¿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

Page 47: Geometría computacional: Doubly Connected Edge List (DCEL)

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

Page 48: Geometría computacional: Doubly Connected Edge List (DCEL)

Bibliografía base

MM. de Berg, M. van Kreveld, M. Overmars, O. Schawarzkopf: Computational Geometry, Springer Verlag, 1997.

Geometría ComputacionalGeometría Computacional