Angles (geometric), normalization and conversion: Difference between revisions
Content added Content deleted
No edit summary |
(Added XPL0 example.) |
||
Line 4,296: | Line 4,296: | ||
6399.0 2.7173573 155.6931042 172.992338 2767.8774082 |
6399.0 2.7173573 155.6931042 172.992338 2767.8774082 |
||
1000000.0 5.9256211 339.5130823 377.2367581 6035.7881302 |
1000000.0 5.9256211 339.5130823 377.2367581 6035.7881302 |
||
</pre> |
|||
=={{header|XPL0}}== |
|||
<lang XPL0>def Pi = 3.14159265358979323846, N=12, Tab=9; |
|||
func real D2D; real D; return Mod(D, 360.); |
|||
func real G2G; real G; return Mod(G, 400.); |
|||
func real M2M; real M; return Mod(M, 6400.); |
|||
func real R2R; real R; return Mod(R, 2.*Pi); |
|||
func real D2G; real D; return 400. * D2D(D) / 360.; |
|||
func real D2M; real D; return 6400.* D2D(D) / 360.; |
|||
func real D2R; real D; return 2.*Pi* D2D(D) / 360.; |
|||
func real G2D; real G; return 360. * G2G(G) / 400.; |
|||
func real G2M; real G; return 6400.* G2G(G) / 400.; |
|||
func real G2R; real G; return 2.*Pi* G2G(G) / 400.; |
|||
func real M2D; real M; return 360. * M2M(M) / 6400.; |
|||
func real M2G; real M; return 400. * M2M(M) / 6400.; |
|||
func real M2R; real M; return 2.*Pi* M2M(M) / 6400.; |
|||
func real R2D; real R; return 360. * R2R(R) / (2.*Pi); |
|||
func real R2G; real R; return 400. * R2R(R) / (2.*Pi); |
|||
func real R2M; real R; return 6400.* R2R(R) / (2.*Pi); |
|||
real Angle; int I; |
|||
[Angle:= |
|||
[-2., -1., 0., 1., 2., 6.2831853, 16., 57.2957795, 359., 399., 6399., 1000000.]; |
|||
Format(7, 7); |
|||
Text(0, " |
|||
Degrees Normalized Gradians Mils Radians |
|||
"); |
|||
for I:= 0 to N-1 do |
|||
[RlOut(0, Angle(I)); ChOut(0, Tab); |
|||
RlOut(0, D2D(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, D2G(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, D2M(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, D2R(Angle(I))); CrLf(0); |
|||
]; |
|||
Text(0, " |
|||
Gradians Normalized Degrees Mils Radians |
|||
"); |
|||
for I:= 0 to N-1 do |
|||
[RlOut(0, Angle(I)); ChOut(0, Tab); |
|||
RlOut(0, G2G(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, G2D(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, G2M(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, G2R(Angle(I))); CrLf(0); |
|||
]; |
|||
Text(0, " |
|||
Mils Normalized Degrees Gradians Radians |
|||
"); |
|||
for I:= 0 to N-1 do |
|||
[RlOut(0, Angle(I)); ChOut(0, Tab); |
|||
RlOut(0, M2M(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, M2D(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, M2G(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, M2R(Angle(I))); CrLf(0); |
|||
]; |
|||
Text(0, " |
|||
Radians Normalized Degrees Gradians Mils |
|||
"); |
|||
for I:= 0 to N-1 do |
|||
[RlOut(0, Angle(I)); ChOut(0, Tab); |
|||
RlOut(0, R2R(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, R2D(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, R2G(Angle(I))); ChOut(0, Tab); |
|||
RlOut(0, R2M(Angle(I))); CrLf(0); |
|||
]; |
|||
]</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> |
</pre> |
||