1234567891011121314151617181920212223242526 |
- #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;
- }
|