![Page 1: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/1.jpg)
Geometría Computacional: Solapamiento de SubdivicionesPlanares
Maikel Arcia
Miguel Sancho
![Page 2: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/2.jpg)
Lecture 2
Line Segment Intersection
Computational Geometry
Prof.Dr.Th.Ottmann
Thematic map overlay in Geographical Information Systems
carreterasrios Solapamiento
de mapas
1. Thematic overlays provide important information.
2. Roads and rivers can both be regarded as networks of line segments.
Motivación
Solapamientos de Mapa
Determinar intersecciones entre capas.
Geometría Computacional
![Page 3: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/3.jpg)
Intersección de redes.
De forma simplifciada el problema de solapamientos de mapas, es la intersección de redes representadas por una colección segmentos.
Geometría Computacional
![Page 4: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/4.jpg)
Objetivo
Diseñar un algoritmo para solapar dos subdiviones planares usando:
Barrido del plano
Intersecciones de Segmentos
Estructura de datos DCEL
Geometría Computacional
![Page 5: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/5.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
![Page 6: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/6.jpg)
Solapamiento de Subdivisiones
k
g
i
h
l
Geometría Computacional
![Page 7: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/7.jpg)
Solapamiento de Subdivisiones
k
g
i
h
l
n
Geometría Computacional
![Page 8: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/8.jpg)
Solapamiento de Subdivisiones
f
j
m
Geometría Computacional
![Page 9: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/9.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
![Page 10: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/10.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices
![Page 11: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/11.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
![Page 12: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/12.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
![Page 13: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/13.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
![Page 14: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/14.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g)
g
![Page 15: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/15.jpg)
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g)
g
(f,h)h
![Page 16: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/16.jpg)
c
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g)
g
(f,h)h
i
(f,i)
![Page 17: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/17.jpg)
c
g
h
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g) (f,h)
i
(f,i)
j (j,g)
(j,g)
(j,h)
(j,i)
![Page 18: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/18.jpg)
c
g
h
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g) (f,h)
i
(f,i)
j (j,g)
(j,g)
(j,h)
(j,i)
k
(j,k)
(j,k)
![Page 19: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/19.jpg)
g
h
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g) (f,h)
i
(f,i)
j (j,g)
(j,g)
(j,h)
(j,i)
k
(j,k)
(j,k)
l
(j,l)
![Page 20: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/20.jpg)
g
h
Solapamiento de Subdivisiones
Geometría Computacional
Nuevos vértices Nuevas semi-aristas
Vértices que se
preservan
Vértices que se
preservan
semi-aristas
que se
preservan
semi-aristas que
se preservan
Las caras deben ser
etiquetadas con las etiquetas
de las caras que se solapan.
f(f,g) (f,h)
i
(f,i)
j (j,g)
(j,g)
(j,h)
(j,i)
k
(j,k)
(j,k)
l
(j,l)
(m,n)
Las caras infinitas siempre se
interceptan.
![Page 21: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/21.jpg)
Solapamiento de Subdivisiones
Partes de las dos subdivisiones se podrían reutilizar.
Solo hay que modificar las semi-aristas incidentes en un vértice de intersección entre las dos subdivisiones.
¿Idea?
Geometría Computacional
![Page 22: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/22.jpg)
Solapamiento de Subdivisiones
Partes de las dos subdivisiones se podrían reutilizar.
Solo hay que modificar las semi-aristas incidentes en un vértice de intersección entre las dos subdivisiones.
¿Idea? Copiar las dos DCEL en una nueva y transformarla en una DCEL válida.
Geometría Computacional
![Page 23: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/23.jpg)
Geometría ComputacionalGeometría Computacional
¿Transformar la nueva DCEL en una válida?
Computar los nuevos vértices.
Crear las nuevas semi-aristas.
Para toda semi-arista e y vértice v afectados, actualizar las referencias: Origing(e), Next(e), Prev(e), Twin(e), IncidentFace(e) IncidentEdge(v).
Crear nuevos registros para cada cara, etiquetados con las etiquetas de las caras que se solapan.
![Page 24: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/24.jpg)
Geometría Computacional
Computar nuevos vértices
![Page 25: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/25.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
![Page 26: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/26.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
![Page 27: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/27.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
![Page 28: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/28.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
![Page 29: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/29.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
![Page 30: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/30.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
![Page 31: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/31.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
![Page 32: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/32.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
![Page 33: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/33.jpg)
Geometría Computacional
Computar nuevos vértices
Usar el algoritmo para determinar intersecciones de segmentos.
En las intersecciones de una misma subdivisión no se realiza ninguna operación adicional.
En las nuevas intersecciones se actualizan los vértices y semi-aristas.
![Page 34: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/34.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas
![Page 35: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/35.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas
![Page 36: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/36.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
![Page 37: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/37.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
![Page 38: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/38.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
![Page 39: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/39.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
Por cada nueva semi-arista se actualiza: Origing, Next, Prev.
Por cada semi-arista reutilizada se actualiza solo el la referncia Next.
![Page 40: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/40.jpg)
Next(e1)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
Por cada nueva semi-arista se actualiza: Origing, Next, Prev.
Por cada semi-arista reutilizada se actualiza solo el la referncia Next.
![Page 41: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/41.jpg)
Next(e1)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
Por cada nueva semi-arista se actualiza: Origing, Next, Prev.
Por cada semi-arista reutilizada se actualiza solo el la referncia Next.
![Page 42: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/42.jpg)
Next(e1)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
Por cada nueva semi-arista se actualiza: Origing, Next, Prev.
Por cada semi-arista reutilizada se actualiza solo el la referncia Next.
![Page 43: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/43.jpg)
Next(e1)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Las semi-aristas se reutilizan y se adiciona una nueva por cada semi-arista afectada.
Por cada nueva semi-arista se actualiza: Origing, Next, Prev.
Por cada semi-arista reutilizada se actualiza solo el la referncia Next.
![Page 44: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/44.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Next(e1)
![Page 45: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/45.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista - arista
e1
Next(e1)
Las nuevas caras siguen estando a la izquierda de las semi-aristas.
Luego las semi-aristas no deben ser reorientadas.
![Page 46: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/46.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 47: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/47.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 48: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/48.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 49: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/49.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 50: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/50.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 51: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/51.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 52: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/52.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso arista – vértice
![Page 53: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/53.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
![Page 54: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/54.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 55: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/55.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 56: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/56.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 57: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/57.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 58: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/58.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 59: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/59.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 60: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/60.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
![Page 61: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/61.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
Todos los casos se pueden reducir al caso en que dos vértices de las subdivisiones coinciden.
¿Cómo determinar el orden de las semi-aristas para actualizar las referencias?
![Page 62: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/62.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
El estado de la línea de barrido contiene los segmentos ordenados abajo hacia arriba.
![Page 63: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/63.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
El estado de la línea de barrido contiene los segmentos ordenados abajo hacia arriba.
![Page 64: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/64.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso vértice - vértice
El estado de la línea de barrido contiene los segmentos ordenados abajo hacia arriba.
![Page 65: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/65.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso especial arista -arista
![Page 66: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/66.jpg)
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso especial arista -arista
Es necesario chequear si los segmentos son colineales.
![Page 67: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/67.jpg)
Solo es necesario crear
dos nuevas semi-
aristas
Geometría ComputacionalGeometría Computacional
Crear nuevas semi-aristas: caso especial arista -arista
Es necesario chequear si los segmentos son colineales.
![Page 68: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/68.jpg)
Geometría ComputacionalGeometría Computacional
Complejidad temporal para actualizar vértices y semi-aristas.
Actualizar las semi-aristas en un vértice v toma un tiempo O(deg(v)), donde deg(v) es el grado del vértice.
Luego actualizar todas las semi-aristas toma un tiempo O(m), donde m es el número de aristas, lo que es equivalente a O(n).
Luego actualizar las semi-aristas no incrementa el tiempo de determinar las intersecciones, el cual es O((n+k)log n), donde k es el número de intersecciones.
![Page 69: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/69.jpg)
Geometría ComputacionalGeometría Computacional
Actualización de las caras
Crear un registro para cada cara.
Para cada registro f crear las referencias:
- OuterComponent(f)
- InnerComponents(f)
Para cada semi-arista e actualizar la referencia InidentFace(e).
¿Cúantos registros de caras se requieren?
![Page 70: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/70.jpg)
Geometría ComputacionalGeometría Computacional
Actualización de las caras
Crear un registro para cada cara.
Para cada registro f crear las referencias:
- OuterComponent(f)
- InnerComponents(f)
Para cada semi-arista e actualizar la referencia InidentFace(e).
¿Cúantos registros de caras se requieren?
Número de caras = Número de ciclos exteriores + 1
![Page 71: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/71.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
![Page 72: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/72.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
Se busca el vértice más a la izquierda.
![Page 73: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/73.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
Se busca el vértice más a la izquierda.
Si el ángulo de giro es mayor que 180 es un ciclo interior
![Page 74: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/74.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
Se busca el vértice más a la izquierda.
Si el ángulo de giro es mayor que 180 es un ciclo interior
Si el ángulo de giro es menor que 180 es un ciclo exterior
![Page 75: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/75.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
Se busca el vértice más a la izquierda.
Si el ángulo de giro es mayor que 180 es un ciclo interior
Si el ángulo de giro es menor que 180 es un ciclo exterior
Se puede resolver con giros de segmentos sin calcular los ángulos
![Page 76: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/76.jpg)
Geometría ComputacionalGeometría Computacional
¿Cómo saber si un ciclo es exterior?
Construir un grafo G no dirigido tal que
Todo ciclo límite corresponda a un nodo Cj.
Un nodo C∞ para el límite exterior imaginario de la cara ilimitada.
(Ci, Cj) es una arista si y solo si se cumplen ambas:
(a) Uno de los ciclo sea el límite de un hueco.
(b) Y el otro ciclo tenga una semi-arista inmediatamente a la izquierda del vértice extremo izquierdo del primer ciclo.
![Page 77: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/77.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
![Page 78: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/78.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
![Page 79: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/79.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
![Page 80: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/80.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
C2
![Page 81: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/81.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
C2C3
![Page 82: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/82.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
C2C3
C6
![Page 83: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/83.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
C2C3
C6
C5
C4
C7
![Page 84: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/84.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
C∞
C1
C2C3
C6
C5
C4
C7
Cada componente conexa del grafo corresponde a una cara, con su componente exterior y su lista de componenetes interiores
![Page 85: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/85.jpg)
Geometría ComputacionalGeometría Computacional
Construcción del grafo G
Estudiar en el libro
Computational Geometry, Algorithms and Applications
Epígrafe 2.3, pág. 33
Modificar el algoritmo de barrido del
plano para construir G.
Cuando un punto de evento v es el vértice
extremo izquierdo de un ciclo de un hueco C
1. Localizar la arista e a la izquierda de v
y el ciclo C de esta
2. Adicionar la arista (C, C ) a G.
Mantener una referencia desde toda semi-arista
al nodo en G que el ciclo al que esta pertenece
![Page 86: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/86.jpg)
Geometría ComputacionalGeometría Computacional
Etiquetado de las caras
Una vez creados todos los registros de las caras y establecidas sus referencias, se recorren los bordes exteriores y se consultan las referencias a las caras de las subdivisiones y se establecen las referencias IncidentFace(e) hacia la nueva cara con la nueva etiqueta combinada.
![Page 87: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/87.jpg)
Geometría ComputacionalGeometría Computacional
Complejidad temporal
El grafo G se construye en el mismo barrido del plano sin costo adicional.
Los registros de las caras se construyen y se etiquetan en un tiempo O(n)
El algoritmo se puede implementar en un tiempo O((n+k)log n).
![Page 88: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/88.jpg)
Geometría ComputacionalGeometría Computacional
Operaciones con polígonos
![Page 89: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/89.jpg)
Geometría ComputacionalGeometría Computacional
Operaciones con polígonos
P Q
![Page 90: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/90.jpg)
Geometría ComputacionalGeometría Computacional
Operaciones con polígonos
P Q
P Q
![Page 91: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/91.jpg)
Geometría ComputacionalGeometría Computacional
Operaciones con polígonos
P Q
P Q
P – Q
![Page 92: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/92.jpg)
Geometría ComputacionalGeometría Computacional
Operaciones con polígonos
P Q
P – Q
P Q
![Page 93: Geometría computacional solapamiento de subdivisiones](https://reader034.vdocuments.site/reader034/viewer/2022042504/55960a0f1a28abf57b8b46b4/html5/thumbnails/93.jpg)
Bibliografía base
MM. de Berg, M. van Kreveld, M. Overmars, O. Schawarzkopf: Computational Geometry, Springer Verlag, 1997.
Geometría ComputacionalGeometría Computacional