Angles (geometric), normalization and conversion: Difference between revisions
Content deleted Content added
m →{{header|Phix}}: added syntax colouring the hard way |
|||
Line 1,810: | Line 1,810: | ||
1000000.0000000 mils = 90.0000000 100.0000000 1600.0000000 1.5707963 |
1000000.0000000 mils = 90.0000000 100.0000000 1600.0000000 1.5707963 |
||
1000000.0000000 radians = 339.5130823 377.2367581 6035.7881302 5.9256211</pre> |
1000000.0000000 radians = 339.5130823 377.2367581 6035.7881302 5.9256211</pre> |
||
=={{header|Mathematica}}/{{header|Wolfram Language}}== |
|||
<lang Mathematica>ClearAll[NormalizeAngle, NormalizeDegree, NormalizeGradian, NormalizeMil, NormalizeRadian] |
|||
NormalizeAngle[d_, full_] := Module[{a = d}, |
|||
If[Abs[a/full] > 4, |
|||
a = a - Sign[a] full (Quotient[Abs[a], full] - 4) |
|||
]; |
|||
While[a < -full, a += full]; |
|||
While[a > full, a -= full]; |
|||
a |
|||
] |
|||
ClearAll[Degree2Gradian, Degree2Mil, Degree2Radian, Gradian2Degree, Gradian2Mil, Gradian2Radian, Mil2Degree, Mil2Gradian, Mil2Radian, Radian2Degree, Radian2Gradian, Radian2Mil] |
|||
NormalizeDegree[d_] := NormalizeAngle[d, 360] |
|||
NormalizeGradian[d_] := NormalizeAngle[d, 400] |
|||
NormalizeMil[d_] := NormalizeAngle[d, 6400] |
|||
NormalizeRadian[d_] := NormalizeAngle[d, 2 Pi] |
|||
Degree2Gradian[d_] := d 400/360 |
|||
Degree2Mil[d_] := d 6400/360 |
|||
Degree2Radian[d_] := d Pi/180 |
|||
Gradian2Degree[d_] := d 360/400 |
|||
Gradian2Mil[d_] := d 6400/400 |
|||
Gradian2Radian[d_] := d 2 Pi/400 |
|||
Mil2Degree[d_] := d 360/6400 |
|||
Mil2Gradian[d_] := d 400/6400 |
|||
Mil2Radian[d_] := d 2 Pi/6400 |
|||
Radian2Degree[d_] := d 180/Pi |
|||
Radian2Gradian[d_] := d 400/(2 Pi) |
|||
Radian2Mil[d_] := d 6400/(2 Pi) |
|||
MapThread[Construct, {{Degree2Gradian, Degree2Mil, Degree2Radian, |
|||
Gradian2Degree, Gradian2Mil, Gradian2Radian, Mil2Degree, |
|||
Mil2Gradian, Mil2Radian, Radian2Degree, Radian2Gradian, |
|||
Radian2Mil}, {-2, -1, 0, 1, 2, 6.2831853, 16, 57.2957795, 359, 399, |
|||
6399, 1000000}}]</lang> |
|||
{{out}} |
|||
<pre>{-(20/9),-(160/9),0,9/10,32,0.098696,9/10,3.58099,(359 \[Pi])/3200,71820/\[Pi],1279800/\[Pi],3200000000/\[Pi]}</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |