Domanda

Ho trovato il seguente codice nelle linee guida di 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);
}

Cosa fa esattamente? Cos'è questo filtro passa-basso? Perché devo applicarlo?

Grazie in anticipo.

È stato utile?

Soluzione

Ciò che devi fare dipende da ciò di cui hai bisogno per il valore, ma l'idea di base è ridurre l'effetto delle vibrazioni dei movimenti della mano e simili. Se prendi i valori di accelerazione grezzi e li tratti come un vettore di gravità, otterrai molto jitter.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top