Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Intersección de objetos geométricos
2
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.
3
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.
4
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)
5
¿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.
6
Intersección de: Segmentos Semiplanos Convexos
7
Intersección de: Segmentos Semiplanos Convexos
8
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:
9
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:
11
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 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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
34
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
35
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
36
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
37
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
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
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
47
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
48
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
49
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
50
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
51
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
52
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
53
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
54
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
55
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
56
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
57
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
58
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
59
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
60
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
61
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
62
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
63
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
64
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
65
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
66
Intersección de: Segmentos Semiplanos Convexos
69
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)
74
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
75
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
76
Intersección de: Segmentos Semiplanos Convexos
77
C2 C1
78
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
79
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
80
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
81
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
82
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
83
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
84
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
85
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
86
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
87
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
88
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
89
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
90
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
91
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
92
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
93
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
94
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}
95
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}
96
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}
97
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}
98
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}
99
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}
100
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}
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.