Question

Des jeux comme FroggyJump pour iPhone figure la rotation de l'iPhone. Je suis en train confondre avec les valeurs d'accélération. Comment puis-je calculer le niveau de rotation? Je suppose que je dois considérer lorsque l'iPhone est pas parfaitement verticale.

Merci.

Je suis aussi vouloir utiliser le nouveau cadre de mouvement de base avec la « Motion Device » pour iPhone 4 pour une précision supplémentaire. Je suppose que je vais devoir utiliser ce filtre passe-bas pour les autres appareils.

Il est le lacet.

Était-ce utile?

La solution

Après avoir donné Froggy Jump un coup rapide, je pense qu'il est probablement en utilisant directement la valeur x de l'accéléromètre comme la gauche / droite sur l'accélération de la grenouille. Si elle est stationnaire, vous pouvez penser à un accéléromètre comme vous donnant le vecteur qui pointe vers le haut dans l'espace, par rapport aux axes locaux. Pour quelque chose comme un roulement à billes ou quoi que ce soit d'autre accélération en raison de l'inclinaison, vous souhaitez utiliser les valeurs directement.

Pour tout ce qui implique en fait sachant angles, vous êtes probablement mieux choisir le autour de l'axe que vous souhaitez détecter la rotation puis en utilisant la fonction C atan2f sur les valeurs de l'accéléromètre pour les deux autres axes. Avec juste un accéléromètre, il y a des scénarios dans lesquels vous ne pouvez pas détecter la rotation - par exemple, si l'appareil est à plat sur une table, alors un accéléromètre ne peut pas détecter lacet. La règle générale est que les rotations autour du vecteur de gravité ne peuvent pas être détectés avec un accéléromètre seul.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top