1 28994509 2004-04-21 devnull #include <u.h>
2 28994509 2004-04-21 devnull #include <libc.h>
3 28994509 2004-04-21 devnull #include "map.h"
5 28994509 2004-04-21 devnull static struct coord stdpar;
7 28994509 2004-04-21 devnull static int
8 28994509 2004-04-21 devnull Xconic(struct place *place, double *x, double *y)
10 28994509 2004-04-21 devnull double r;
11 28994509 2004-04-21 devnull if(fabs(place->nlat.l-stdpar.l) > 80.*RAD)
12 28994509 2004-04-21 devnull return(-1);
13 28994509 2004-04-21 devnull r = stdpar.c/stdpar.s - tan(place->nlat.l - stdpar.l);
14 28994509 2004-04-21 devnull *x = - r*sin(place->wlon.l * stdpar.s);
15 28994509 2004-04-21 devnull *y = - r*cos(place->wlon.l * stdpar.s);
16 28994509 2004-04-21 devnull if(r>3) return(0);
17 28994509 2004-04-21 devnull return(1);
21 28994509 2004-04-21 devnull conic(double par)
23 28994509 2004-04-21 devnull if(fabs(par) <.1)
24 28994509 2004-04-21 devnull return(Xcylindrical);
25 28994509 2004-04-21 devnull deg2rad(par, &stdpar);
26 28994509 2004-04-21 devnull return(Xconic);