Convex Hull

download Convex Hull

of 20

Transcript of Convex Hull

Diapositiva 1

CONVEX HULL

INTRODUCCIN

Convex Hull, tambin denominada envolvente convexa, es uno de los ms fundamentales constructores geomtricos.

Una idea seria el contenido de la figura que formara una banda elstica que rodeara a puntos una vez que la soltramos.

La computacin del cierre convexo de una nube finita de puntos, especialmente en el plano, ha sido exhaustivamente estudiada y tiene aplicaciones, como por ejemplo, en el procesado de imgenes y en localizacin.

ALGORITMOS

Nosotros analizaremos slo algunos algoritmos para averiguar elconvex hullde puntos situados sobre dos dimensiones.

Teorema:Es posible calcular la envolvente convexa de un convexo S en tiempo O(n log n), y este tiempo es ptimo.Quick Hull.

La idea del Quick Hull es ir descartando lo ms pronto posible los puntos que no formarn parte de la frontera del cierre convexo, que suelen ser los ms interiores de la nube de puntos. Teorema:El algoritmo Quick Hull calcula la envolvente convexa en tiempo O(n2).Paso 1:Encontrar los cuatro puntos extremos de la nube de puntos (norte, sur, este y oeste) y formar un cuadriltero con estos puntos como esquinas (aunque podra darse el caso de obtenerse slo un tringulo e incluso una lnea, lo cual no afecta el funcionamiento del algoritmo). Todos los puntos que hayan quedado dentro de este cuadriltero no formarn ya parte de la frontera.

Paso 2:Los puntos exteriores al cuadriltero se encontrarn divididos en cuatro (o menos) zonas no comunicadas.En cada una de estas regiones obtendremos el punto ms alejado al lado del cuadriltero adyacente a dicha zona. De esta forma obtendremos una figura de hasta ocho vrtices que descartar los puntos interiores como pertenecientes al borde del cierre convexo y dividir los puntos exteriores en hasta ocho nuevas regiones.Paso 3:Seguiremos actuando para cada nueva regin segn las reglas anteriores hasta que no queden vrtices externos a la figura.Esta figura resultante ser el cierre convexo.

Algoritmo QuickHull

Ejemplo:Scan de Graham.

Este algoritmo utiliza una lista en la que va almacenando y ordenando correctamente los puntos que constituyen los extremos del cierre convexo.

Teorema:El Scan de Graham calcula la envolvente convexa en tiempo O(n log n), que es el tiempo ptimo.

Paso 1:Elegimos un primer punto (Por orden lexicogrfico) para almacenar en la lista. A continuacin vamos almacenando el resto en la lista, ordenados segn el valor del ngulo que forman con el primer punto que escogimos.Paso 2:Recorremos la lista que hemos formado, tomando en cada momento tres puntos: Inicial, Medio y Final.Comprobamos si el ngulo que forman Inicial, Medio y Final (IMF) es negativo (sentido horario) o positivo (sentido antihorario).Si es positivo, Medio pasar a ser Inicial, Final pasar a ser Medio y el siguiente elemento de la lista pasar a ser Final.Si es negativo, Medio ser borrado de la lista, Inicial pasar a ser Medio, el anterior elemento de la lista pasar a ser Inicial, y Final queda inalterado.La lista obtenida al finalizar con todos los elementos de la lista ser la frontera de la envolvente convexa de la nube de puntosAlgoritmo Scam de Graham

Ejemplo :

Envolvimiento de regalo (Gift Wrapping).

La complejidad de este algoritmo ser de nh, donde h es el nmero de caras del cierre convexo.

Paso 1:Elegimos el punto A, que ser el que menor coordenadayposea (as nos aseguramos que pertenezca al cierre convexo). Este punto ser nuestro punto inicial.Paso 2:Puede encontrarse otro punto B, que cumplir que todos los puntos estn situados a la izquierda de AB.Paso 3:Similarmente, podemos encontrar C all donde todos los puntos estn a la izquierda de BC. Repetimos este mtodo para el resto de puntos.

15Algoritmo Gift Wrapping

Ejemplo:

APLICACIONESEntre las mltiples aplicaciones existentes para el uso de la envolvente convexa, hablaremos de las dos siguientes: el clculo del dimetro y el de la anchura de un conjunto.Dada una nube de puntos S, el dimetro es la mayor distancia posible de entre todos los puntos de S.La anchura es la menor longitud, de entre todas las posibles, entre dos rectas paralelas que contengan en su interior todos los puntos pertenecientes a S.

El uso de estas magnitudes va desde el clculo de medidas de dispersin hasta el clculo de trayectoria de robots.El mtodo ms sencillo para calcular estas distancias es comparar todas las distancias para cada par de puntos y quedarnos con la apropiada. Pero el coste de este procedimiento es cuadrtico.

INTEGRANTES:

QUISPE AQUINO CRISTIANPLASENCIA PRADO CARLOSRODRIGUEZ PAREDES ZACKRUIZ ALBA PIERE