var low_x = parseFloat(0);
var low_y = parseFloat(0);
var low_z = parseFloat(0);
function motion(event){
//Popular filtering value.
var FILTERING_VALUE = parseFloat(0.1);
var x = parseFloat(event.accelerationIncludingGravity.x);
var y = parseFloat(event.accelerationIncludingGravity.y);
var z = parseFloat(event.accelerationIncludingGravity.z);
//Low-Pass Filter
low_x = eval(x * FILTERING_VALUE + low_x * (1.0 - FILTERING_VALUE));
low_y = eval(y * FILTERING_VALUE + low_y * (1.0 - FILTERING_VALUE));
low_z = eval(z * FILTERING_VALUE + low_z * (1.0 - FILTERING_VALUE));
//High-Pass Filter
var high_x = eval(x - low_x);
var high_y = eval(y - low_y);
var high_z = eval(z - low_z);
//Your Action start IF method.
if(high_y <= 3 && high_x > 1.8 && high_z <= 3){
//Do You Action Method (Event).
}
}
2016年10月30日 星期日
Android - Accelerometer remove gravity using high-pass filter
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言