Blob


1 #include <u.h>
2 #include <libc.h>
3 #include "map.h"
4 /* refractive fisheye, not logarithmic */
6 static double n;
8 static int
9 Xfisheye(struct place *place, double *x, double *y)
10 {
11 double r;
12 double u = sin(PI/4-place->nlat.l/2)/n;
13 if(fabs(u) > .97)
14 return -1;
15 r = tan(asin(u));
16 *x = -r*place->wlon.s;
17 *y = -r*place->wlon.c;
18 return 1;
19 }
21 proj
22 fisheye(double par)
23 {
24 n = par;
25 return n<.1? 0: Xfisheye;
26 }