geometría computacional: doubly connected edge list (dcel)

Post on 03-Jul-2015

300 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Geometría Computacional: DCEL

Maikel Arcia

Miguel Sancho

Ríos

Calles

Ejemplo: Toma de Desiciones Regionales

Ríos

Calles

Ejemplo: Toma de Desiciones Regionales

Posibles Puentes

Ríos

Calles

Posibles Puentes

Posibles áreas para

el desarrollo de

Granjas Productoras

de Leche.

Ejemplo: Toma de Desiciones Regionales

¿ 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

Problema: Organizar la Información de un mapa

Los trazos de un mapa pueden ser curvos.

Problema: Organizar la Información de un mapa

Los trazos de un mapa pueden ser curvos.

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.

Problema: Organizar la Información de un mapa

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

Estructura candidata: Grafos.

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.

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?

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?

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.

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.

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.

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

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

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.

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

Geometría ComputacionalGeometría Computacional

Lista Doblemente Conectada

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

ePrev(e)

Next(e)

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!

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.

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)

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.

Geometría ComputacionalGeometría Computacional

Caras y Huecos

Geometría ComputacionalGeometría Computacional

Caras y Huecos

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

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.

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.

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.

Geometría ComputacionalGeometría Computacional

El concepto de hueco es relativo

Geometría ComputacionalGeometría Computacional

El concepto de hueco es relativo

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

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

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

Geometría ComputacionalGeometría Computacional

g

Estructura de la DCEL: Ejemplo

¿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

¿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

¿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

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

Bibliografía base

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

Geometría ComputacionalGeometría Computacional

top related