Pregunta

Encontré el siguiente fragmento de código en las directrices de 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é hace exactamente? ¿Qué es este filtro de paso bajo? ¿Por qué tengo que aplicarlo?

Gracias de antemano.

¿Fue útil?

Solución

Lo que debe hacer depende de para qué necesita el valor, pero la idea básica es reducir el efecto de las vibraciones de los movimientos de las manos y demás. Si toma los valores de aceleración sin procesar y los trata como un vector de gravedad, obtendrá una gran cantidad de fluctuación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top