2014-06-29 1 views
0

En utilisant le code suivant:Comment puis-je utiliser les valeurs d'azimut, de tangage et de roulis pour déterminer si un appareil a été incliné vers le haut ou vers le bas?

SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet); 
SensorManager.remapCoordinateSystem(mRotationMatrix, 
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2); 
SensorManager.getOrientation(R2, mValuesOrientation); 

Je reçois trois valeurs d'orientation (azimut, tangage et de roulis). Comment puis-je utiliser trois valeurs d'orientation pour déterminer si l'appareil a été incliné vers le haut ou vers le bas?

Répondre

0

Si vous ne voulez pas faire face à quelque chose qui s'appelle Gimbal Lock (les valeurs d'angle deviennent folles lorsque vous atteignez certaines valeurs), je vous suggère de commencer à rechercher des matrices de rotation.

Vous devez également spécifier le type de mouvement que vous appelez «une inclinaison» et dans quelle orientation votre application fonctionne.

Questions connexes