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/trapezoidal.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/cmd/map/libmap/trapezoidal.c (limited to 'src/cmd/map/libmap/trapezoidal.c') diff --git a/src/cmd/map/libmap/trapezoidal.c b/src/cmd/map/libmap/trapezoidal.c new file mode 100644 index 00000000..977cf60c --- /dev/null +++ b/src/cmd/map/libmap/trapezoidal.c @@ -0,0 +1,30 @@ +#include +#include +#include "map.h" + +static struct coord stdpar0, stdpar1; +static double k; +static double yeq; + +static int +Xtrapezoidal(struct place *place, double *x, double *y) +{ + *y = yeq + place->nlat.l; + *x = *y*k*place->wlon.l; + return 1; +} + +proj +trapezoidal(double par0, double par1) +{ + if(fabs(fabs(par0)-fabs(par1))<.1) + return rectangular(par0); + deg2rad(par0,&stdpar0); + deg2rad(par1,&stdpar1); + if(fabs(par1-par0) < .1) + k = stdpar1.s; + else + k = (stdpar1.c-stdpar0.c)/(stdpar0.l-stdpar1.l); + yeq = -stdpar1.l - stdpar1.c/k; + return Xtrapezoidal; +} -- cgit v1.2.3