source: Sophya/trunk/SophyaExt/XAstroPack/tstmollweide.cc@ 3000

Last change on this file since 3000 was 2743, checked in by cmv, 20 years ago

suite nouvelle structure cmv 20/05/05

File size: 1.1 KB
Line 
1//#define TEST_MOLLWEIDE
2#include <stdlib.h>
3#include <stdio.h>
4#include <math.h>
5#include "sopnamsp.h"
6#include "mollweide.h"
7
8int main()
9{
10 FILE *file = fopen("mollw.data","w");
11 FILE *file2 = fopen("mollw2.data","w");
12 int i,npoints=250000;
13 double tvrai,lon,lat,x,y,tcalc,a;
14 double longitude,latitude,tll,txy;
15
16 tll=txy=0.;
17 for(i=0;i<=npoints;i++) {
18 //tvrai = 1.57078;
19 tvrai = (double)i*(M_PI_2) /(double)npoints;
20 a = 2.*tvrai+sin(2.*tvrai);
21 lat = asin(a/M_PI);
22 tcalc = MollWeide_XY(0.,lat,&x,&y);
23 if(fabs(tcalc-tvrai)>tll) {tll = fabs(tcalc-tvrai); txy=tvrai;}
24 if(file) fprintf(file,"%e %e %e %e\n",tvrai,tcalc,a,tcalc-tvrai);
25 }
26 printf("Maximum difference: %e for t=%.10e=Pi/2-%.10e\n",tll,txy,M_PI_2-txy);
27 if(file) fclose(file);
28
29 for(lon=0.;lon<360.;lon+=2.5) for(lat=-90.;lat<=90.1;lat+=2.5) {
30 txy = MollWeide_XY(lon*M_PI/180.,lat*M_PI/180.,&x,&y);
31 tll = MollWeide_LL(x,y,&longitude,&latitude);
32 longitude *= 180./M_PI;
33 latitude *= 180./M_PI;
34 if(file2) fprintf(file2,"%e %e %e %e %e %e %e %e %e %e\n"
35 ,lon,lat,x,y,longitude,latitude,txy,tll,longitude-lon,latitude-lat);
36 }
37 if(file2) fclose(file2);
38 return 0;
39}
Note: See TracBrowser for help on using the repository browser.