La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Intersección de objetos geométricos.

Presentaciones similares


Presentación del tema: "Intersección de objetos geométricos."— Transcripción de la presentación:

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:

10

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

67

68

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)

70

71

72

73

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}


Descargar ppt "Intersección de objetos geométricos."

Presentaciones similares


Anuncios Google