Angles (geometric), normalization and conversion: Difference between revisions

m (added two words for the use of "mils".)
Line 1,327:
1000000.0000000 mils = 90.0000000 100.0000000 1600.0000000 1.5707963
1000000.0000000 radians = 339.5130823 377.2367581 6035.7881302 5.9256211</pre>
 
=={{header|Nim}}==
<lang Nim>import math
import strformat
 
const Values = [float -2, -1, 0, 1, 2, 6.2831853, 16, 57.2957795, 359, 399, 6399, 1000000]
 
func d2d(x: float): float {.inline.} = x mod 360
func g2g(x: float): float {.inline.} = x mod 400
func m2m(x: float): float {.inline.} = x mod 6400
func r2r(x: float): float {.inline.} = x mod (2 * Pi)
 
func d2g(x: float): float {.inline.} = d2d(x) * 10 / 9
func d2m(x: float): float {.inline.} = d2d(x) * 160 / 9
func d2r(x: float): float {.inline.} = d2d(x) * Pi / 180
 
func g2d(x: float): float {.inline.} = g2g(x) * 9 / 10
func g2m(x: float): float {.inline.} = g2g(x) * 16
func g2r(x: float): float {.inline.} = g2g(x) * Pi / 200
 
func m2d(x: float): float {.inline.} = m2m(x) * 9 / 160
func m2g(x: float): float {.inline.} = m2m(x) / 16
func m2r(x: float): float {.inline.} = m2m(x) * Pi / 3200
 
func r2d(x: float): float {.inline.} = r2r(x) * 180 / Pi
func r2g(x: float): float {.inline.} = r2r(x) * 200 / Pi
func r2m(x: float): float {.inline.} = r2r(x) * 3200 / Pi
 
# Normalizing and converting degrees.
echo " Degrees Normalized Gradians Mils Radians"
echo "———————————————————————————————————————————————————————————————————————————————————"
for val in Values:
echo fmt"{val:15.7f} {d2d(val):15.7f} {d2g(val):15.7f} {d2m(val):15.7f} {d2r(val):15.7f}"
 
# Normalizing and converting gradians.
echo ""
echo " Gradians Normalized Degrees Mils Radians"
echo "———————————————————————————————————————————————————————————————————————————————————"
for val in Values:
echo fmt"{val:15.7f} {g2g(val):15.7f} {g2d(val):15.7f} {g2m(val):15.7f} {g2r(val):15.7f}"
 
# Normalizing and converting mils.
echo ""
echo " Mils Normalized Degrees Gradians Radians"
echo "———————————————————————————————————————————————————————————————————————————————————"
for val in Values:
echo fmt"{val:15.7f} {m2m(val):15.7f} {m2d(val):15.7f} {m2g(val):15.7f} {m2r(val):15.7f}"
 
# Normalizing and converting radians.
echo ""
echo " Radians Normalized Degrees Gradians Mils"
echo "———————————————————————————————————————————————————————————————————————————————————"
for val in Values:
echo fmt"{val:15.7f} {r2r(val):15.7f} {r2d(val):15.7f} {r2g(val):15.7f} {r2m(val):15.7f}"</lang>
 
{{out}}
<pre> Degrees Normalized Gradians Mils Radians
———————————————————————————————————————————————————————————————————————————————————
-2.0000000 -2.0000000 -2.2222222 -35.5555556 -0.0349066
-1.0000000 -1.0000000 -1.1111111 -17.7777778 -0.0174533
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
1.0000000 1.0000000 1.1111111 17.7777778 0.0174533
2.0000000 2.0000000 2.2222222 35.5555556 0.0349066
6.2831853 6.2831853 6.9813170 111.7010720 0.1096623
16.0000000 16.0000000 17.7777778 284.4444444 0.2792527
57.2957795 57.2957795 63.6619772 1018.5916356 1.0000000
359.0000000 359.0000000 398.8888889 6382.2222222 6.2657320
399.0000000 39.0000000 43.3333333 693.3333333 0.6806784
6399.0000000 279.0000000 310.0000000 4960.0000000 4.8694686
1000000.0000000 280.0000000 311.1111111 4977.7777778 4.8869219
 
Gradians Normalized Degrees Mils Radians
———————————————————————————————————————————————————————————————————————————————————
-2.0000000 -2.0000000 -1.8000000 -32.0000000 -0.0314159
-1.0000000 -1.0000000 -0.9000000 -16.0000000 -0.0157080
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
1.0000000 1.0000000 0.9000000 16.0000000 0.0157080
2.0000000 2.0000000 1.8000000 32.0000000 0.0314159
6.2831853 6.2831853 5.6548668 100.5309648 0.0986960
16.0000000 16.0000000 14.4000000 256.0000000 0.2513274
57.2957795 57.2957795 51.5662016 916.7324720 0.9000000
359.0000000 359.0000000 323.1000000 5744.0000000 5.6391588
399.0000000 399.0000000 359.1000000 6384.0000000 6.2674773
6399.0000000 399.0000000 359.1000000 6384.0000000 6.2674773
1000000.0000000 0.0000000 0.0000000 0.0000000 0.0000000
 
Mils Normalized Degrees Gradians Radians
———————————————————————————————————————————————————————————————————————————————————
-2.0000000 -2.0000000 -0.1125000 -0.1250000 -0.0019635
-1.0000000 -1.0000000 -0.0562500 -0.0625000 -0.0009817
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
1.0000000 1.0000000 0.0562500 0.0625000 0.0009817
2.0000000 2.0000000 0.1125000 0.1250000 0.0019635
6.2831853 6.2831853 0.3534292 0.3926991 0.0061685
16.0000000 16.0000000 0.9000000 1.0000000 0.0157080
57.2957795 57.2957795 3.2228876 3.5809862 0.0562500
359.0000000 359.0000000 20.1937500 22.4375000 0.3524474
399.0000000 399.0000000 22.4437500 24.9375000 0.3917173
6399.0000000 6399.0000000 359.9437500 399.9375000 6.2822036
1000000.0000000 1600.0000000 90.0000000 100.0000000 1.5707963
 
Radians Normalized Degrees Gradians Mils
———————————————————————————————————————————————————————————————————————————————————
-2.0000000 -2.0000000 -114.5915590 -127.3239545 -2037.1832716
-1.0000000 -1.0000000 -57.2957795 -63.6619772 -1018.5916358
0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
1.0000000 1.0000000 57.2957795 63.6619772 1018.5916358
2.0000000 2.0000000 114.5915590 127.3239545 2037.1832716
6.2831853 6.2831853 359.9999996 399.9999995 6399.9999927
16.0000000 3.4336294 196.7324722 218.5916358 3497.4661726
57.2957795 0.7471117 42.8063493 47.5626103 761.0017647
359.0000000 0.8584375 49.1848452 54.6498280 874.3972479
399.0000000 3.1593256 181.0160257 201.1289175 3218.0626795
6399.0000000 2.7173573 155.6931042 172.9923380 2767.8774082
1000000.0000000 5.9256211 339.5130823 377.2367581 6035.7881302</pre>
 
=={{header|Perl}}==
Anonymous user