Blame


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"
4 28994509 2004-04-21 devnull
5 28994509 2004-04-21 devnull static struct coord stdpar;
6 28994509 2004-04-21 devnull
7 28994509 2004-04-21 devnull static int
8 28994509 2004-04-21 devnull Xconic(struct place *place, double *x, double *y)
9 28994509 2004-04-21 devnull {
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);
18 28994509 2004-04-21 devnull }
19 28994509 2004-04-21 devnull
20 28994509 2004-04-21 devnull proj
21 28994509 2004-04-21 devnull conic(double par)
22 28994509 2004-04-21 devnull {
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);
27 28994509 2004-04-21 devnull }