Averages/Mean angle: Difference between revisions
Content added Content deleted
(Added Easylang) |
imported>Chinhouse No edit summary |
||
Line 1,191: | Line 1,191: | ||
mean_angle([10, 20, 30]) |
mean_angle([10, 20, 30]) |
||
ans = 20.000 |
ans = 20.000 |
||
</pre> |
|||
=={{header|MiniScript}}== |
|||
<syntaxhighlight lang="miniscript"> |
|||
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 |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
Mean of [350, 10] is 0 |
|||
Mean of [90, 180, 270, 360] is -90 |
|||
Mean of [10, 20, 30] is 20.0 |
|||
</pre> |
</pre> |
||