Changeset 1553 in Sophya for trunk/SophyaPI/PIext


Ignore:
Timestamp:
Jun 27, 2001, 12:22:19 PM (24 years ago)
Author:
ansari
Message:

Info position angulaire ds affichage SphericalMap - Reza 27/6/2001

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/nomskymapadapter.cc

    r1321 r1553  
    215215}
    216216
     217// -- Fonction pour convertir un X,Y en Theta-Phi sur projection MolleWeide --
     218char * _SphMollweideProj_XY2ThetaPhi(P2DArrayAdapter * aa, int ix, int iy);
    217219
    218220/* --Methode-- */
     
    228230TMatrix<T> * mtx = new TMatrix<T>(nr, nc);
    229231Project_Mol(*mtx);
    230 return (new POTMatrixAdapter<T>(mtx, true) );
     232POTMatrixAdapter<T> * potma = new POTMatrixAdapter<T>(mtx, true);
     233potma->SetInfoStringFunction(_SphMollweideProj_XY2ThetaPhi);
     234return ( potma );
    231235}
    232236
     
    271275    //    teta = (0.5-yd)*M_PI;
    272276    for(c=0; c<nc; c++)  {
    273       xa = (r_8)(c+0.5)/(r_8)nc-0.5;
     277      xa = (r_8)(c+0.5)/(r_8)nc-0.5; 
    274278      phi = xa*facteur+M_PI;
    275279      if ( (phi <= 2*M_PI) && (phi >= 0.) ) {
     
    279283    }
    280284  }
     285}
     286
     287static char m_buff[128];
     288char * _SphMollweideProj_XY2ThetaPhi(P2DArrayAdapter * aa, int ix, int iy)
     289{
     290  r_8 xa, yd, teta,phi, facteur;
     291  int_4 nl = aa->YSize();
     292  int_4 nc = aa->XSize();
     293  int l, c;
     294  aa->IJ2xy(ix, iy, c, l);
     295  yd = (r_8)(l+0.5)/(r_8)nl-0.5;
     296  facteur=2.*M_PI/sin(acos((double)yd*2));
     297  teta = (yd+0.5)*Pi;
     298  xa = (r_8)(c+0.5)/(r_8)nc-0.5; 
     299  phi = xa*facteur+M_PI;
     300  if ( (phi <= 2*M_PI) && (phi >= 0.) )
     301    sprintf(m_buff,"(l,b=%5.1f,%5.1f)", 90.-teta*180./M_PI, phi*180./M_PI);
     302  else
     303    sprintf(m_buff,"(l,b=?,?)", teta*180./M_PI, phi*180./M_PI);
     304
     305  return (m_buff);
    281306}
    282307
Note: See TracChangeset for help on using the changeset viewer.