23 lines
587 B
Plaintext
23 lines
587 B
Plaintext
atan2 = function(y, x)
|
|
return 2 * atan((sqrt(x^2 + y^2) - x) / y)
|
|
end function
|
|
|
|
deg2rad = function(x); return x * pi / 180; end function
|
|
rad2deg = function(x); return x * 180 / pi; end function
|
|
|
|
meanAngle = function(angles)
|
|
xsum = 0; ysum = 0
|
|
for angle in angles
|
|
xsum += cos(deg2rad(angle))
|
|
ysum += sin(deg2rad(angle))
|
|
end for
|
|
return rad2deg(atan2(ysum / angles.len, xsum / angles.len))
|
|
end function
|
|
|
|
manyAngledOnes = [[350, 10], [90, 180, 270, 360], [10, 20, 30]]
|
|
|
|
for angles in manyAngledOnes
|
|
mean = meanAngle(angles)
|
|
print ["Mean of", angles, "is", mean].join(" ")
|
|
end for
|