|
|
1.1 root 1: #include "map.h"
2:
3: Xmollweide(place,x,y)
4: struct place *place;
5: float *x, *y;
6: {
7: float z;
8: float w;
9: z = place->nlat.l;
10: if(fabs(z)<89.9*RAD)
11: do { /*newton for 2z+sin2z=pi*sin(lat)*/
12: w = (2*z+sin(2*z)-PI*place->nlat.s)/(2+2*cos(2*z));
13: z -= w;
14: } while(fabs(w)>=.00001);
15: *y = sin(z);
16: *x = - (2/PI)*cos(z)*place->wlon.l;
17: return(1);
18: }
19:
20: int (*mollweide())()
21: {
22: return(Xmollweide);
23: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.