Averages/Mean angle: Difference between revisions

no edit summary
(Added Processing code)
No edit summary
Line 1,628:
90.0
20.0</pre>
 
=={{header|PureBasic}}==
<lang PureBasic>NewList angle.d()
 
Macro AE(x)
AddElement(angle()) : angle()=x
EndMacro
 
Procedure.d atan3(y.d,x.d)
If x<=0.0 : ProcedureReturn Sign(y)*#PI/2 : EndIf
If x>0.0 : ProcedureReturn ATan(y/x) : EndIf
If y>0.0 : ProcedureReturn ATan(y/x)+#PI : EndIf
ProcedureReturn ATan(y/x)-#PI
EndProcedure
 
Procedure.d mAngle(List angle.d())
Define.d sumS,sumC
ForEach angle()
sumS+Sin(Radian(angle())) : sumC+Cos(Radian(angle()))
Next
ProcedureReturn Degree(atan3(sumS,sumC))
EndProcedure
 
AE(350.0) : AE(10.0)
Debug StrD(mAngle(angle()),6) : ClearList(angle())
 
AE(90.0) : AE(180.0) : AE(270.0) : AE(360.0)
Debug StrD(mAngle(angle()),6) : ClearList(angle())
 
AE(10.0) : AE(20.0) : AE(30.0)
Debug StrD(mAngle(angle()),6) : ClearList(angle())
</lang>
{{out}}
<pre>-0.000000
-90.000000
20.000000</pre>
 
=={{header|Python}}==
164

edits