From 28994509cc11ac6a5443054dfae1fedfb69039bc Mon Sep 17 00:00:00 2001 From: rsc Date: Wed, 21 Apr 2004 22:19:33 +0000 Subject: Why not? --- src/cmd/map/libmap/gall.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/cmd/map/libmap/gall.c (limited to 'src/cmd/map/libmap/gall.c') diff --git a/src/cmd/map/libmap/gall.c b/src/cmd/map/libmap/gall.c new file mode 100644 index 00000000..84da651b --- /dev/null +++ b/src/cmd/map/libmap/gall.c @@ -0,0 +1,29 @@ +#include +#include +#include "map.h" + +static double scale; + +static int +Xgall(struct place *place, double *x, double *y) +{ + /* two ways to compute tan(place->nlat.l/2) */ + if(fabs(place->nlat.s)<.1) + *y = sin(place->nlat.l/2)/cos(place->nlat.l/2); + else + *y = (1-place->nlat.c)/place->nlat.s; + *x = -scale*place->wlon.l; + return 1; +} + +proj +gall(double par) +{ + double coshalf; + if(fabs(par)>80) + return 0; + par *= RAD; + coshalf = cos(par/2); + scale = cos(par)/(2*coshalf*coshalf); + return Xgall; +} -- cgit v1.2.3