Question

J'ai trouvé le code suivant dans les directives Apple:

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
    //Use a basic low-pass filter to only keep the gravity in the accelerometer values
    accel[0] = acceleration.x * kFilteringFactor + accel[0] * (1.0 - kFilteringFactor);
    accel[1] = acceleration.y * kFilteringFactor + accel[1] * (1.0 - kFilteringFactor);
    accel[2] = acceleration.z * kFilteringFactor + accel[2] * (1.0 - kFilteringFactor);
}

Qu'est-ce que ça fait exactement? Quel est ce filtre passe-bas? Pourquoi dois-je l'appliquer?

Merci d'avance.

Était-ce utile?

La solution

Ce que vous devez faire dépend de la raison pour laquelle vous avez besoin de la valeur, mais l’idée de base est de réduire l’effet des vibrations dues aux mouvements de la main et autres. Si vous prenez les valeurs d'accélération brutes et les traitez comme un vecteur de gravité, vous obtiendrez beaucoup de gigue.

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