Intersección de objetos geométricos.

Slides:



Advertisements
Presentaciones similares
Problemas de proximidad
Advertisements

Diagramas de Voronoi.
Matemática Aplicada I Alberto Márquez Geometría Computacional Localización Planteamiento del problema Casos simples.
Matemática Aplicada I José Ramón Gómez Envolvente convexa Tema 5.
Diagramas de Voronoi.
Matemática Aplicada I Alberto Márquez Envolvente convexa Tema 5.
Rectas.
Envolvente convexa Parte 1: Algoritmos
Ángulos y polígonos A continuación aprenderás qué son los ángulos y los polígonos. Coloca mucha atención….
 Un triángulo es un polígono determinado por tres rectas que se intersectan en tres puntos no alineados; los puntos de intersección son los vértices.
Taller: Aprendizaje de Triángulos
7. POLIEDROS. CUERPOS DE REVOLUCIÓN ● Definición de poliedro. Elementos. ● Poliedros regulares ● Otros poliedros ● Cuerpos de revolución ● Cilindro ● Cono.
 E Expresión de un problema de programación lineal  A Aplicaciones de la programación lineal  S Soluciones de un problema de programación lineal.
POLÍGONOS PEDRO GODOY GÓMEZ. Lados: son los trazos o segmentos que determinan el polígono. En la figura, los lados son AB; BC; CD; DE y EA. Vértices:
Lcda. Carmen Reyes. SI TIENEN SUS LADOS Y ÁNGULOS IGUALES SI TIENEN SUS LADOS Y ÁNGULOS DESIGUALES.
Geometría Polígonos. Polígono Un polígono es una figura plana y cerrada formada por tres o más segmentos de línea unidos en sus extremos. Estas figuras.
ESCUELA: NOMBRES: MATEMATICAS PERIODO: Myriam Arteaga Marín Abril - Agosto/ ESCUELA DE CIENCIAS BIOLÓGICAS Y AMBIENTALES.
Cuerpos geométricos. 1.- Polígonos: Es la parte del plano limitada por una línea poligonal cerrada. Clasificación según el nº de lados: Tres lados: Cuatro.
Funciones.
U.D. 10 * 2º ESO CUERPOS GEOMÉTRICOS
Cuerpos geométricos.
San Pedro Sac. San Marcos Guatemala.
ÉSTADÍSTICAS DESCRIPTIVAS ORGANIZACIÓN DE DATOS
3° Medio – Departamento de Matemática Prof. Lucy Vera V.
Geometría Analítica Rectas y cónicas..
Más que un polígono de tres lados...
Inecuaciones José Otero Bargos.
SESION 2: AGRUPACIÓN DE DATOS (TABLAS DE DISTRIBUCIÓN DE FRECUENCIAS)
CURVAS TÉCNICAS, CÍCLICAS Y CÓNICAS
MÉTODOS NUMÉRICOS 2.2 Raíces de ecuaciones
U.D. 8 * 2º ESO GEOMETRÍA PLANA
Desigualdades.
Apuntes de Matemáticas 3º ESO
INVESTIGACIÓN DE OPERACIONES
Apuntes de Matemáticas 3º ESO
UNIDAD 4: ESTADÍSTICA Y PROBABILIDAD
U.D. 9 * 2º BCS GRÁFICAS DE FUNCIONES.
U.D. 8 * 2º ESO GEOMETRÍA PLANA
TRAZADOS FUNDAMENTALES
GRADO 5° LUIS GONZALO PULGARIN R
Ecuación de la recta. Elementos de ecuación de la recta En una ecuación dela recta de tipo y=mx+c se analizan los siguientes elementos: m es la pendiente.
Sistemas de incuaciones de dos incognitas
PROPORCIONES NOTABLES
Cantidad de líneas de campo que atraviesa la superficie ds.
Tema 4 Introducción a la Programación Lineal
Unidad de indagación 2ª Rectas, polígonos y horas.
PUNTO MEDIO PENDIENTE DE DE UNA RECTA UN SEGMENTO ÁNGULOS DE
Conceptos básicos de Geometría Analítica
Tema 4 Introducción a la Programación Lineal
Ing. Antonio Crivillero
Se le conoce como polígono a la porción de plano limitada por una curva cerrada,llamada Línea Poligonal.  EL POLÍGONO Los segmentos que forman la línea.
Clase Función cuadrática cuadrática. Función cuadrática Definición Es de la forma: f(x) = ax 2 + bx + c Ejemplos: y su representación gráfica corresponde.
POLÍGONOS TÍA ANDREA 4° BÁSICO Los Polígonos 1.- Recta: En geometría, una línea infinita que describe de forma idealizada la imagen real de un hilo tenso.
1 Longitud de arco.. 2 LONGITUD DE ARCO DE CURVAS PLANAS Considérese una función f(x) continua y positiva en todo punto de algún intervalo [a,b]. Sea.
III. de Líneas o Curvilíneas: C
EXAMENES LOGSE Septiembre
Localización y planeación de trayectorias
FORMAS BASICAS GEOMETRICAS
TRAZADO DE UNA ELIPSE DADOS LOS DIAMETROS PRINCIPALES
Desigualdades lineales Introducción a la Programación Lineal
LA CIRCUNFERENCIA.
CIRCUNFERENCIA. LA CIRCUNFERENCIA  La circunferencia es una línea curva, cerrada y plana, cuyos puntos están todos a la misma distancia de otro punto,
La Ecuación de la Recta. 1. Explicar el concepto de pendiente. 2. Determinar la pendiente de una recta. 3. Identificar los elementos que determinan una.
APLICACIONES DE LAS DERIVADAS
Tema 4 Introducción a la Programación Lineal. Cada muñeco: Produce un beneficio neto de 3 €. Requiere 2 horas de trabajo de acabado. Requiere 1 hora de.
2º de Primaria.
Grafos. Concepto: Un Grafo no es más que un conjunto de nodos o vértices que se encuentran relacionados con unas aristas. Además, los vértices tienen.
POLÍGONOS Profesor Nicolás Acuña Nett 7° Básico. ¿Cómo podríamos definir un polígono?
Circunferencia y Circulo Profesor Erick Bravo Santibañez Geometría y Lugares geométricos Matemáticas 3º Año Medio.
Transcripción de la presentación:

Intersección de objetos geométricos

Teorema 2.1: Toda línea poligonal cerrada C divide el plano en dos regiones, una acotada y la otra no. Además, se puede determinar si un punto p está en la región acotada contando el número de veces que cualquier semirrecta que comienza en p atraviesa a C; p estará en dicha región si y sólo si dicho número es impar.                                    

Teorema 2.1: Toda línea poligonal cerrada C divide el plano en dos regiones, una acotada y la otra no. Además, se puede determinar si un punto p está en la región acotada contando el número de veces que cualquier semirrecta que comienza en p atraviesa a C; p estará en dicha región si y sólo si dicho número es impar.                                    

Teorema: La intersección de n semiplanos puede calcularse en tiempo O(n log n) Lema: El núcleo de un polígono puede calcularse en tiempo O(n log n)

¿Cómo calcular la región de Voronoi de un punto? Los puntos del plano pertenecientes a h(pi,pj) son aquellos que están más próximos a pi que a pj. Lema: La intersección de los semiplanos h(p1,pj) es Vor(p1). Corolario: Vor(p1) es un convexo.

Intersección de: Segmentos Semiplanos Convexos

Intersección de: Segmentos Semiplanos Convexos

Es posible resolver la intersección de segmentos (decir cuales son los segmentos que se cortan y donde) en tiempo cuadrático... A veces es necesario el tiempo cuadrático:

Es posible resolver la intersección de segmentos (decir cuales son los segmentos que se cortan y donde) en tiempo cuadrático... A veces es necesario el tiempo cuadrático: Pero en muchos ejemplos cada segmento corta a pocos de los otros:

La línea de barrido va determinando los segmentos que intersecta de izquierda a derecha. Nos tenemos que parar en todos los puntos en los que se modifique dicha lista: Los extremos de los segmentos. Los puntos de intersección. 1 2 3 4 2 1 3 4 2 1 5 2 5 1 Sólo se puede producir una intersección entre dos segmentos si estos segmentos son consecutivos en algún momento en el barrido inmediatamente anterior a que se produzca la intersección 5

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos 1 2 3 4 5

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos i1 i2 1 2 i4 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos Inicialmente P={i1,i2,i4,i3,f3,f4,i5,f1,f5,f2} i1 i2 1 2 i4 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos Inicialmente P={i1,i2,i4,i3,f3,f4,i5,f1,f5,f2} S= i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i1,i2,i4,i3,f3,f4,i5,f1,f5,f2} S= i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i1,i2,i4,i3,f3,f4,i5,f1,f5,f2} S= i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i1,i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i2,i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,j24,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i4,j24,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j24,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j24,i3,j12,f3,f4,i5,f1,f5,f2} S={1,4,2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j24,i3,j12,f3,f4,i5,f1,f5,f2} S={1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i3,j12,f3,f4,i5,f1,f5,f2} S={1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i3,j12,f3,f4,i5,f1,f5,f2} S={3,1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i3,j12,f3,f4,i5,f1,f5,f2} S={3,1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i3,j13,j12,f3,f4,i5,f1,f5,f2} S={3,1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j13,j12,f3,f4,i5,f1,f5,f2} S={3,1,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j13,j12,f3,f4,i5,f1,f5,f2} S={1,3,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j13,j12,f3,f4,i5,f1,f5,f2} S={1,3,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j13,j23,j12,f3,f4,i5,f1,f5,f2} S={1,3,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j23,j12,f3,f4,i5,f1,f5,f2} S={1,3,2,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j23,j12,f3,f4,i5,f1,f5,f2} S={1,2,3,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j12,f3,f4,i5,f1,f5,f2} S={1,2,3,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j12,f3,f4,i5,f1,f5,f2} S={2,1,3,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f3,f4,i5,f1,f5,f2} S={2,1,3,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f3,f4,i5,f1,f5,f2} S={2,1,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f4,i5,f1,f5,f2} S={2,1,4} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f4,i5,f1,f5,f2} S={2,1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i5,f1,f5,f2} S={2,1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i5,f1,f5,f2} S={2,1,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i5,f1,f5,f2} S={2,1,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={i5,j15,f1,f5,f2} S={2,1,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j15,f1,f5,f2} S={2,1,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={j15,f1,f5,f2} S={2,5,1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f1,f5,f2} S={2,5,1} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f1,f5,f2} S={2,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f5,f2} S={2,5} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f5,f2} S={2} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f5,f2} S={2} Intersecciones={j24,j13,j23,j12,j15} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f5,f2} S={2} Intersecciones={j24,j13,j23,j12,j15} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 O(log |S|) j15 f1 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos P={f5,f2} S={2} Intersecciones={j24,j13,j23,j12,j15} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 O(log |S|) j15 f1 O(log |P|) 5 f5 f2

Mantendremos dos listas ordenadas: P=puntos de parada (extremos de segmentos y puntos de intersección) S=orden en el que nos encontramos los segmentos Teorema 6.1: Es posible calcular las I intersecciones de n segmentos en tiempo O(n log n +I log n). P={f5,f2} S={2} Intersecciones={j24,j13,j23,j12,j15} i1 i2 En cada momento me voy al primer elemento e de la lista P y actualizo ambas listas siguiendo las instrucciones: 1-Si e es un punto inicial: añado el segmento correspondiente a la lista S. 2-Si e es un punto final: elimino el segmento correspondiente de la lista S. 3-Si e es un punto de intersección: intercambio los segmentos correspondientes en la lista S 4-Se comprueba si los nuevos segmentos consecutivos en S tienen intersección. En caso de tenerla actualizo P. 5- elimino e de P i4 1 2 j24 i3 j13 j23 3 4 j12 f3 f4 i5 O(log |S|) j15 f1 O(log |P|) 5 f5 f2

Intersección de: Segmentos Semiplanos Convexos

Divide y vencerás Dado H una colección de semiplanos: 1.- Dividimos H en dos subconjuntos H1 y H2 del mismo tamaño. 2.- Calculamos recursivamente H1 e H2. 3.- A partir de 2 calculamos H= (H1)  (H2)

Divide y vencerás Dado H una colección de semiplanos: 1.- Dividimos H en dos subconjuntos H1 y H2 del mismo tamaño. 2.- Calculamos recursivamente H1 e H2. 3.- A partir de 2 calculamos H= (H1)  (H2) convexos

Divide y vencerás Dado H una colección de semiplanos: 1.- Dividimos H en dos subconjuntos H1 y H2 del mismo tamaño. 2.- Calculamos recursivamente H1 e H2. 3.- A partir de 2 calculamos H= (H1)  (H2) convexos

Intersección de: Segmentos Semiplanos Convexos

C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C2,C1,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C1,C2,C2} S={C1,C2,C1,C2} C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C1,C2,C2} S={C1,C2,C1,C2} C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C1,C2,C2} S={C1,C2,C1,C2} C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C2,C1,C2} S={C1,C2,C1,C2} C2 C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C2,C1,C2} C2 S={C2,C1,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C2,C1,C2} C2 S={C2,C1,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos S={C1,C2,C1,C2} C2 S={C2,C1,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C2,C1,C1,C2} S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C2,C1,C1,C2} S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C1,C2,C1,C2} S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 S={C1,C2,C1,C2} C1

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C1,C2,C1,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C1,C2,C1,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C1,C2,C1,C2} S={C2,C1,C1,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C1,C2,C1,C2} S={C2,C1,C1,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C2,C1,C1,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos C2 C1 S={C2,C1,C1,C2} S={C1,C1,C2,C2}

Mantendremos dos listas ordenadas: P=puntos de parada (vértices de los polígonos) S=lista de cuatro elementos con el orden en el que nos encontramos los polígonos Divide y vencerás Dado H una colección de semiplanos: 1.- Dividimos H en dos subconjuntos H1 y H2 del mismo tamaño. 2.- Calculamos recursivamente H1 e H2. 3.- A partir de 2 calculamos H= (H1)  (H2) Teorema 6.2: Es posible calcular la intersección de dos regiones convexas limitadas por n segmentos o semirectas en tiempo lineal. C2 Corolario 6.1: Es posible calcular la intersección de n semiplanos en tiempo O(n log n). C1 S={C2,C1,C1,C2} S={C1,C1,C2,C2}