miércoles, 15 de diciembre de 2010

Sobre curvas

He pensado que para reconocer una curva correctamente, es insuficiente con saber si es hacia la derecha o hacia la izquierda, se necesita saber también el grado de curvatura que tiene (lo abierta que es). Creo que una buena técnica para averiguar lo abierta que es, podría ser utilizar interpolación lineal, esto es, que a a partir de un cierto número de distancias obtenidas por muestreo, se construya una función que los ajuste (una recta). La idea es interpolar las distancias de los sensores de la zona derecha o izquierda según sea una curva a izquierda o derecha respectivamente.

Con una imagen se ilustra mejor esto que quiero explicar:

El ángulo alpha sería el que nos determine lo abierta que es la curva. Como primera aproximación se podría considerar tener los siguientes tipos de curva: curva muy cerrada (alpha <= 25º), curva cerrada(25º <= alpha <= 45º),curva abierta (45º< alpha <= 60º) y curva muy abierta (60º< alpha <90º). Para el caso de 90º sería una recta, que es un caso que no se debería dar si se ha reconocido como curva correctamente el entorno.

En la versión anterior de la aplicación de telemetría el mapa no se pintaba correctamente, ya que no se podía pintar sólo con la información proporcionada por el vector de "cambios en el entorno", si no que es necesario pintar cada cierto número de muestreos, porque por ejemplo, no se sabe lo larga que es una recta. Además tampoco se podía pintar con precisión las curvas, al no tener información sobre su forma.
Implementaré esta idea y comentaré los resultados.
Saludos.

1 comentario:

  1. Ahora mismo NO tengo tiempo de contestarte más... pero...

    ... con un poco de geometría... SI TIENES 3 PUNTOS PUEDES HACER LA CIRCUNFERENCIA QUE PASA POR ELLOS... Y, POR TANTO, SABER EL RADIO!!!!!

    A MÁS RADIO... MAS ABIERRTAAA!!!


    Gonzalo.
    Ps: busca un libro de geometría y programa lo que te he dicho!! :)

    ResponderEliminar