Angles (geometric), normalization and conversion: Difference between revisions
Content added Content deleted
(Added Wren) |
|||
Line 2,368: | Line 2,368: | ||
("1000000.0000", "1600.0000", "Mils", "90.0000", "100.0000", "1600.0000", "1.5708") |
("1000000.0000", "1600.0000", "Mils", "90.0000", "100.0000", "1600.0000", "1.5708") |
||
("1000000.0000", "5.9256", "Radians", "339.5132", "377.2368", "6035.7895", "5.9256")</pre> |
("1000000.0000", "5.9256", "Radians", "339.5132", "377.2368", "6035.7895", "5.9256")</pre> |
||
=={{header|Wren}}== |
|||
{{trans|Go}} |
|||
{{libheader|Wren-fmt}} |
|||
<lang ecmascript>import "/fmt" for Fmt |
|||
var d2d = Fn.new { |d| d % 360 } |
|||
var g2g = Fn.new { |g| g % 400 } |
|||
var m2m = Fn.new { |m| m % 6400 } |
|||
var r2r = Fn.new { |r| r % (2*Num.pi) } |
|||
var d2g = Fn.new { |d| d2d.call(d) * 400 / 360 } |
|||
var d2m = Fn.new { |d| d2d.call(d) * 6400 / 360 } |
|||
var d2r = Fn.new { |d| d2d.call(d) * Num.pi / 180 } |
|||
var g2d = Fn.new { |g| g2g.call(g) * 360 / 400 } |
|||
var g2m = Fn.new { |g| g2g.call(g) * 6400 / 400 } |
|||
var g2r = Fn.new { |g| g2g.call(g) * Num.pi / 200 } |
|||
var m2d = Fn.new { |m| m2m.call(m) * 360 / 6400 } |
|||
var m2g = Fn.new { |m| m2m.call(m) * 400 / 6400 } |
|||
var m2r = Fn.new { |m| m2m.call(m) * Num.pi / 3200 } |
|||
var r2d = Fn.new { |r| r2r.call(r) * 180 / Num.pi } |
|||
var r2g = Fn.new { |r| r2r.call(r) * 200 / Num.pi } |
|||
var r2m = Fn.new { |r| r2r.call(r) * 3200 / Num.pi } |
|||
// Aligns number to decimal point assuming 7 characters before and after. |
|||
var s = Fn.new { |f| Fmt.g(15, f, 7) } |
|||
var f1 = "$15m $15m $15m $15m $15m" |
|||
var f2 = "$s $s $s $s $s" |
|||
var angles = [-2, -1, 0, 1, 2, 6.2831853, 16, 57.2957795, 359, 399, 6399, 1000000] |
|||
Fmt.print(f1, "degrees", "normalized degs", "gradians", "mils", "radians") |
|||
for (a in angles) { |
|||
Fmt.print(f2, s.call(a), s.call(d2d.call(a)), s.call(d2g.call(a)), s.call(d2m.call(a)), s.call(d2r.call(a))) |
|||
} |
|||
f1 = "\n" + f1 |
|||
Fmt.print(f1, "gradians", "normalized grds", "degrees", "mils", "radians") |
|||
for (a in angles) { |
|||
Fmt.print(f2, s.call(a), s.call(g2g.call(a)), s.call(g2d.call(a)), s.call(g2m.call(a)), s.call(g2r.call(a))) |
|||
} |
|||
Fmt.print(f1, "mils", "normalized mils", "degrees", "gradians", "radians") |
|||
for (a in angles) { |
|||
Fmt.print(f2, s.call(a), s.call(m2m.call(a)), s.call(m2d.call(a)), s.call(m2g.call(a)), s.call(m2r.call(a))) |
|||
} |
|||
Fmt.print(f1, "radians", "normalized rads", "degrees", "gradians", "mils") |
|||
for (a in angles) { |
|||
Fmt.print(f2, s.call(a), s.call(r2r.call(a)), s.call(r2d.call(a)), s.call(r2g.call(a)), s.call(r2m.call(a))) |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
degrees normalized degs gradians mils radians |
|||
-2.0 -2.0 -2.2222222 -35.5555556 -0.0349066 |
|||
-1.0 -1.0 -1.1111111 -17.7777778 -0.0174533 |
|||
0.0 0.0 0.0 0.0 0.0 |
|||
1.0 1.0 1.1111111 17.7777778 0.0174533 |
|||
2.0 2.0 2.2222222 35.5555556 0.0349066 |
|||
6.2831853 6.2831853 6.981317 111.701072 0.1096623 |
|||
16.0 16.0 17.7777778 284.4444444 0.2792527 |
|||
57.2957795 57.2957795 63.6619772 1018.5916356 1.0 |
|||
359.0 359.0 398.8888889 6382.2222222 6.265732 |
|||
399.0 39.0 43.3333333 693.3333333 0.6806784 |
|||
6399.0 279.0 310.0 4960.0 4.8694686 |
|||
1000000.0 280.0 311.1111111 4977.7777778 4.8869219 |
|||
gradians normalized grds degrees mils radians |
|||
-2.0 -2.0 -1.8 -32.0 -0.0314159 |
|||
-1.0 -1.0 -0.9 -16.0 -0.015708 |
|||
0.0 0.0 0.0 0.0 0.0 |
|||
1.0 1.0 0.9 16.0 0.015708 |
|||
2.0 2.0 1.8 32.0 0.0314159 |
|||
6.2831853 6.2831853 5.6548668 100.5309648 0.098696 |
|||
16.0 16.0 14.4 256.0 0.2513274 |
|||
57.2957795 57.2957795 51.5662016 916.732472 0.9 |
|||
359.0 359.0 323.1 5744.0 5.6391588 |
|||
399.0 399.0 359.1 6384.0 6.2674773 |
|||
6399.0 399.0 359.1 6384.0 6.2674773 |
|||
1000000.0 0.0 0.0 0.0 0.0 |
|||
mils normalized mils degrees gradians radians |
|||
-2.0 -2.0 -0.1125 -0.125 -0.0019635 |
|||
-1.0 -1.0 -0.05625 -0.0625 -0.0009817 |
|||
0.0 0.0 0.0 0.0 0.0 |
|||
1.0 1.0 0.05625 0.0625 0.0009817 |
|||
2.0 2.0 0.1125 0.125 0.0019635 |
|||
6.2831853 6.2831853 0.3534292 0.3926991 0.0061685 |
|||
16.0 16.0 0.9 1.0 0.015708 |
|||
57.2957795 57.2957795 3.2228876 3.5809862 0.05625 |
|||
359.0 359.0 20.19375 22.4375 0.3524474 |
|||
399.0 399.0 22.44375 24.9375 0.3917173 |
|||
6399.0 6399.0 359.94375 399.9375 6.2822036 |
|||
1000000.0 1600.0 90.0 100.0 1.5707963 |
|||
radians normalized rads degrees gradians mils |
|||
-2.0 -2.0 -114.591559 -127.3239545 -2037.1832716 |
|||
-1.0 -1.0 -57.2957795 -63.6619772 -1018.5916358 |
|||
0.0 0.0 0.0 0.0 0.0 |
|||
1.0 1.0 57.2957795 63.6619772 1018.5916358 |
|||
2.0 2.0 114.591559 127.3239545 2037.1832716 |
|||
6.2831853 6.2831853 359.9999996 399.9999995 6399.9999927 |
|||
16.0 3.4336294 196.7324722 218.5916358 3497.4661726 |
|||
57.2957795 0.7471117 42.8063493 47.5626103 761.0017647 |
|||
359.0 0.8584375 49.1848452 54.649828 874.3972479 |
|||
399.0 3.1593256 181.0160257 201.1289175 3218.0626795 |
|||
6399.0 2.7173573 155.6931042 172.992338 2767.8774082 |
|||
1000000.0 5.9256211 339.5130823 377.2367581 6035.7881302 |
|||
</pre> |
|||
=={{header|zkl}}== |
=={{header|zkl}}== |