22 lines
494 B
JavaScript
22 lines
494 B
JavaScript
function sum(a) {
|
|
var s = 0;
|
|
for (var i = 0; i < a.length; i++) s += a[i];
|
|
return s;
|
|
}
|
|
|
|
function degToRad(a) {
|
|
return Math.PI / 180 * a;
|
|
}
|
|
|
|
function meanAngleDeg(a) {
|
|
return 180 / Math.PI * Math.atan2(
|
|
sum(a.map(degToRad).map(Math.sin)) / a.length,
|
|
sum(a.map(degToRad).map(Math.cos)) / a.length
|
|
);
|
|
}
|
|
|
|
var a = [350, 10], b = [90, 180, 270, 360], c = [10, 20, 30];
|
|
console.log(meanAngleDeg(a));
|
|
console.log(meanAngleDeg(b));
|
|
console.log(meanAngleDeg(c));
|