Distance parcourue par L'accéléromètre
je veux déplacer des objets sur l'écran de l'iPhone (rectangle, cercle et ainsi de suite) en déplaçant l'iPhone. Par exemple, je déplace iPhone le long de l'axe X et l'objet se déplace le long de l'axe X. La même chose pour y, z-axis.
Comment faire? Puis-je obtenir de l'algorithme?
Merci.
P. S: J'ai cherché pendant un certain temps et semble que c'est possible en utilisant l'accéléromètre.
3 réponses
vous obtenez la position en intégrant l'accélération linéaire deux fois, mais l'erreur est horrible. Il est inutile dans la pratique.
Voici une explication pourquoi (Google Tech Talk) à 23:20. Je recommande fortement cette vidéo.
cependant la gyro mouse pourrait fonctionner pour votre application, Voir entre 37:00-38:25 dans la vidéo.
questions similaires:
track small movements of iphone with no GPS
Quelle est la précision réelle des accéléromètres téléphoniques lorsqu'ils sont utilisés pour le positionnement?
comment calculer le mouvement du téléphone dans la direction verticale du repos?
iOS: précision des mouvements dans L'espace en 3D
comment utilisez Accelerometer pour mesurer la distance pour le développement D'Applications Android
Comment puis-je trouver la distance parcourue avec un gyroscope et un accéléromètre?
pas facile à faire avec précision. Un accéléromètre indique seulement accélération , pas de mouvement. Vous pouvez essayer (numériquement) d'intégrer l'accélération au fil du temps, mais vous êtes susceptible de finir avec des erreurs cumulatives s'additionnant et conduisant à un mouvement involontaire.
Pseudocode, évidemment non testé:
init:
loc = {0, 0, 0} ; location of object on screen
vel = {0, 0, 0} ; velocity of object on screen
t = 0 ; last time measured
step:
t0 = time ; get amount of time since last measurement
dt = t0 - t
accel = readAccelerometer()
vel += accel * dt ; update velocity
loc += vel * dt ; update position
displayObjectAt(loc)
pourquoi ne pas utiliser l'accélération elle-même à la place de la distance déplacée? Exemple; Si votre accélération est de 1,4 G est, votre objet devrait se déplacer à l'est de 14pixels par seconde jusqu'à ce que votre accélération change.
pour que le mouvement de l'objet soit comme sous une force relative et je pense que c'est plus réaliste. Appareil mobile plus rapide, plus grande force pour effectuer l'objet.
aussi regarder:
http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf
et