|
|
1.1 root 1: #include "map.h"
2:
3: struct coord center;
4:
5: Xelliptic(p,x,y)
6: struct place *p;
7: float *x,*y;
8: {
9: float r1,r2;
10: r1 = acos(p->nlat.c*(p->wlon.c*center.c
11: - p->wlon.s*center.s));
12: r2 = acos(p->nlat.c*(p->wlon.c*center.c
13: + p->wlon.s*center.s));
14: *x = -(r1*r1 - r2*r2)/(4*center.l);
15: *y = (r1*r1+r2*r2)/2 - (center.l*center.l+*x**x);
16: *y = sqrt(*y);
17: if(p->nlat.l<0)
18: *y = -*y;
19: return(1);
20: }
21:
22: int (*elliptic(l))()
23: float l;
24: {
25: int Xazequidistant();
26: l = fabs(l);
27: if(l>89)
28: return(0);
29: if(l<1)
30: return(Xazequidistant);
31: deg2rad(l,¢er);
32: return(Xelliptic);
33: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.