#include <u.h> | |
#include <libc.h> | |
#include "map.h" | |
/* refractive fisheye, not logarithmic */ | |
static double n; | |
static int | |
Xfisheye(struct place *place, double *x, double *y) | |
{ | |
double r; | |
double u = sin(PI/4-place->nlat.l/2)/n; | |
if(fabs(u) > .97) | |
return -1; | |
r = tan(asin(u)); | |
*x = -r*place->wlon.s; | |
*y = -r*place->wlon.c; | |
return 1; | |
} | |
proj | |
fisheye(double par) | |
{ | |
n = par; | |
return n<.1? 0: Xfisheye; | |
} |