@@ -0,0 +1,1189 @@
+package com.miviclin.droidengine2d.util;%0A%0A/**%0A * Utilidades para trabajar con los sensores%0A * %0A * @author Miguel Vicente Linares%0A * %0A */%0Apublic class SensorUtilities %7B%0A%09%0A%09/**%0A%09 * Aplica un filtro a paso bajo para atenuar los valores de input en funcion a los valores de output y alpha%0A%09 * %0A%09 * @param input Valores que queremos atenuar. No puede ser null%0A%09 * @param output Valores que se utilizaran para atenuar los valores de input. No puede ser null%0A%09 * @param length Numero de valores a atenuar%0A%09 * @param alpha Coeficiente de atenuacion. Valor entre 0 y 1%0A%09 */%0A%09public static void lowPassFilter(float%5B%5D input, float%5B%5D output, int length, float alpha) %7B%0A%09%09if (input == null) %7B%0A%09%09%09throw new IllegalArgumentException(%22input can not be null%22);%0A%09%09%7D%0A%09%09if (output == null) %7B%0A%09%09%09throw new IllegalArgumentException(%22output can not be null%22);%0A%09%09%7D%0A%09%09if (length %3E Math.min(input.length, output.length)) %7B%0A%09%09%09throw new IllegalArgumentException(%22The specified length is too big%22);%0A%09%09%7D%0A%09%09if (alpha %3C 0 %7C%7C alpha %3E 1) %7B%0A%09%09%09throw new IllegalArgumentException(%22alpha must be a value between 0 and 1%22);%0A%09%09%7D%0A%09%09for (int i = 0; i %3C length; i++) %7B%0A%09%09%09output%5Bi%5D += (alpha * (input%5Bi%5D - output%5Bi%5D));%0A%09%09%7D%0A%09%7D%0A%09%0A%7D%0A

Add SensorUtilities