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

Added XPL0 example.
No edit summary
(Added XPL0 example.)
Line 4,296:
6399.0 2.7173573 155.6931042 172.992338 2767.8774082
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>
 
772

edits