Angles (geometric), normalization and conversion: Difference between revisions
Content added Content deleted
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
(Added Easylang) |
||
Line 987: | Line 987: | ||
readln; |
readln; |
||
end.</syntaxhighlight> |
end.</syntaxhighlight> |
||
=={{header|EasyLang}}== |
|||
<syntaxhighlight lang=easylang> |
|||
func angconv ang f$ t$ . |
|||
sgn = sign ang |
|||
ang = abs ang |
|||
if f$ = "degree" |
|||
turn = ang / 360 mod 1 |
|||
elif f$ = "gradian" |
|||
turn = ang / 400 mod 1 |
|||
elif f$ = "mil" |
|||
turn = ang / 6400 mod 1 |
|||
elif f$ = "radian" |
|||
turn = ang / (2 * pi) mod 1 |
|||
. |
|||
if t$ = "degree" |
|||
ang = turn * 360 |
|||
elif t$ = "gradian" |
|||
ang = turn * 400 |
|||
elif t$ = "mil" |
|||
ang = turn * 6400 |
|||
elif t$ = "radian" |
|||
ang = turn * 2 * pi |
|||
. |
|||
return ang * sgn |
|||
. |
|||
func$ fmt s$ . |
|||
return substr " " 1 (9 - len s$) & s$ & " " |
|||
. |
|||
# |
|||
scales$[] = [ "degree" "gradian" "mil" "radian" ] |
|||
values[] = [ -2 -1 0 1 2 6.2831853 16 57.2957795 359 399 6399 1000000 ] |
|||
numfmt 3 10 |
|||
for f$ in scales$[] |
|||
write fmt f$ |
|||
for t$ in scales$[] |
|||
write fmt t$ |
|||
. |
|||
print "" |
|||
print " ------------------------------------------------" |
|||
for v in values[] |
|||
write v |
|||
for t$ in scales$[] |
|||
write angconv v f$ t$ |
|||
. |
|||
print "" |
|||
. |
|||
print "" |
|||
. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
degree degree gradian mil radian |
|||
------------------------------------------------ |
|||
-2 -2 -2.222 -35.556 -0.035 |
|||
-1 -1 -1.111 -17.778 -0.017 |
|||
0 0 0 0 0 |
|||
1 1 1.111 17.778 0.017 |
|||
2 2 2.222 35.556 0.035 |
|||
6.283 6.283 6.981 111.701 0.110 |
|||
16 16 17.778 284.444 0.279 |
|||
57.296 57.296 63.662 1018.592 1.000 |
|||
359 359 398.889 6382.222 6.266 |
|||
399 39.000 43.333 693.333 0.681 |
|||
6399 279.000 310.000 4960.000 4.869 |
|||
1000000 280.000 311.111 4977.778 4.887 |
|||
gradian degree gradian mil radian |
|||
------------------------------------------------ |
|||
-2 -1.800 -2 -32 -0.031 |
|||
-1 -0.900 -1 -16 -0.016 |
|||
0 0 0 0 0 |
|||
1 0.900 1 16 0.016 |
|||
2 1.800 2 32 0.031 |
|||
6.283 5.655 6.283 100.531 0.099 |
|||
16 14.400 16 256 0.251 |
|||
57.296 51.566 57.296 916.732 0.900 |
|||
359 323.100 359 5744 5.639 |
|||
399 359.100 399 6384 6.267 |
|||
6399 359.100 399.000 6384.000 6.267 |
|||
1000000 0 0 0 0 |
|||
mil degree gradian mil radian |
|||
------------------------------------------------ |
|||
-2 -0.113 -0.125 -2 -0.002 |
|||
-1 -0.056 -0.062 -1 -0.001 |
|||
0 0 0 0 0 |
|||
1 0.056 0.062 1 0.001 |
|||
2 0.113 0.125 2 0.002 |
|||
6.283 0.353 0.393 6.283 0.006 |
|||
16 0.900 1 16 0.016 |
|||
57.296 3.223 3.581 57.296 0.056 |
|||
359 20.194 22.438 359 0.352 |
|||
399 22.444 24.938 399 0.392 |
|||
6399 359.944 399.938 6399 6.282 |
|||
1000000 90 100 1600 1.571 |
|||
radian degree gradian mil radian |
|||
------------------------------------------------ |
|||
-2 -114.592 -127.324 -2037.183 -2 |
|||
-1 -57.296 -63.662 -1018.592 -1 |
|||
0 0 0 0 0 |
|||
1 57.296 63.662 1018.592 1 |
|||
2 114.592 127.324 2037.183 2 |
|||
6.283 360.000 400.000 6400.000 6.283 |
|||
16 196.732 218.592 3497.466 3.434 |
|||
57.296 42.806 47.563 761.002 0.747 |
|||
359 49.185 54.650 874.397 0.858 |
|||
399 181.016 201.129 3218.063 3.159 |
|||
6399 155.693 172.992 2767.877 2.717 |
|||
1000000 339.513 377.237 6035.788 5.926 |
|||
</pre> |
|||
=={{header|Factor}}== |
=={{header|Factor}}== |