31 lines
849 B
JavaScript
31 lines
849 B
JavaScript
var array = [0,0,0,0,0]
|
|
var lastSin
|
|
var lastCos
|
|
var smoothingFactor = 0.9
|
|
|
|
function smoothout(azi) {
|
|
//if (last < azi - 100 || last > azi + 100) array = [azi,azi,azi,azi,azi];
|
|
//var tem = data
|
|
//Math.atan2(Math.sin(azi),cos(azi)) = azi
|
|
|
|
lastSin = smoothingFactor * lastSin + (1-smoothingFactor) * Math.sin(azi)
|
|
lastCos = smoothingFactor * lastCos + (1-smoothingFactor) * Math.cos(azi)
|
|
|
|
var azim = Math.atan2(lastSin, lastCos)
|
|
|
|
console.log(Math.sin(azi)+ " - "+Math.cos(azi))
|
|
|
|
array.shift()
|
|
array.push(azim)
|
|
|
|
var total = 0,i;
|
|
for (i = 0; i < array.length; i += 1) {
|
|
total += array[i]
|
|
//if (array[i] > 0) total += array[i]; else total -= array[i];
|
|
}
|
|
//data = tem
|
|
// console.log("******** "+ total / array.length+" ---- "+array)
|
|
// last = azi
|
|
return total / array.length;
|
|
}
|