Changeset 3572 in Sophya for trunk/SophyaExt/XAstroPack/mollweide.cc
- Timestamp:
- Feb 7, 2009, 10:50:34 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/XAstroPack/mollweide.cc
r2730 r3572 48 48 \endverbatim 49 49 */ 50 double MollWeide_XY(double longitude,double latitude,double * xmoll,double*ymoll)50 double MollWeide_XY(double longitude,double latitude,double& xmoll,double& ymoll) 51 51 { 52 52 int i,niter=2; … … 90 90 91 91 t0 *= asgn; 92 *xmoll = 2.*M_SQRT2*(longitude-M_PI)/M_PI*cos(t0);93 *ymoll = M_SQRT2*sin(t0);92 xmoll = 2.*M_SQRT2*(longitude-M_PI)/M_PI*cos(t0); 93 ymoll = M_SQRT2*sin(t0); 94 94 95 95 return t0; … … 118 118 \endverbatim 119 119 */ 120 double MollWeide_LL(double xmoll,double ymoll,double * longitude,double*latitude)120 double MollWeide_LL(double xmoll,double ymoll,double& longitude,double& latitude) 121 121 { 122 122 double t,a,eps=1.e-20; 123 123 124 *longitude = *latitude = -999.;124 longitude = latitude = -999.; 125 125 if(xmoll<-2*M_SQRT2 || xmoll>2*M_SQRT2) return(-901.); 126 126 if(ymoll<-M_SQRT2 || ymoll>M_SQRT2) return(-902.); … … 130 130 131 131 a = (2.*t+sin(2.*t))/M_PI; if(a<-1.) a=-1.; else if(a>1.) a=1.; 132 *latitude = asin(a);132 latitude = asin(a); 133 133 134 134 a= cos(t); 135 135 if(fabs(a)<eps) return(-903.); 136 *longitude = M_PI*(xmoll/(2.*M_SQRT2*a)+1.);136 longitude = M_PI*(xmoll/(2.*M_SQRT2*a)+1.); 137 137 138 138 return(t);
Note:
See TracChangeset
for help on using the changeset viewer.