Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Roll con Phone 7

Iniciado por XÑA, 17 de Noviembre de 2011, 07:52:55 PM

« anterior - próximo »

XÑA

Estoy haciendo una aplicación y necesito el valor del Roll del móvil. La clase Motion me devuelve el valor, pero se divide en un rango de -90º  a + 90º. Claro, el problema lo tengo cuando gira más de 90º

            0º   |  0º
                   |
-90º_____|_______90º
-90º           |                90º
                   |
                 0º    (Cuadrante C)

Yo quiero saber cuando estoy en el cuadrante C.... ¿alguien sabe cómo resolvero? Lo he hecho mirando el aceletrometro, pero claro, sólo me funciona en el caso en el que lo he calculado, que es el móvil en portrait enfrente tuya...

blau


Sin haber tocado nada. lo normal es que este tipo de funciones devuelva un angulo entre -180 y 180, estas seguro que te lo da asi como pones?

XÑA

He cogido el ejemplo que hay en el sdk... Simplemente se coge el valor de la propiedad y listo... :(

Mars Attacks

pitch = arctan(Ax/sqrt(Ay^2+Az^2))
roll = arctan(Ay/sqrt(Ax^2+Az^2))
theta = arctan(sqrt(Ax^2+Az^2)/Az)

Ésas son las fórmulas mágicas dados los acelerómetros en x, y y z.

Razón aquí: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1246336902

XÑA

Pero estos valores son sólo basados en el acelerómetro. Yo tengo mucha más precisión, porqué la clase Motion usa el Gyroscope y el Compass.  :-\

Gracias!!  :D


XÑA

He preguntado, a ver qué me dicen... :(






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.