calcul de vitesses

Le but est de trouver les vitesses de déplacement pour un astre donné en azimut et en altitude (en secondes d'arc / seconde)
Ces vitesses sont souvent notées Va(a,h) et Vh(a,h) en fonction de l'altitude et l'azimut 
et Va(ah,dec) et Vh(ah,dec) en fonction de l'angle horaire et la déclinaison.
 
 
 

En Astronomie, les équations de Gauss sont omniprésentes pour les changements de référentiels et en trigonométrie sphérique :

 
cos a = cos b  cos c + sin b sin c cos A
sin a cos B = cos b sin c - sin b cos c cos A
sin a sin B = sin b sin A
 
Ces équations permettent d'effecter les conversions entre systèmes de coordonnées azimutal et horaires
sachant que les coordonnées horaires sont déduites des coordonnées équatoriales par le calcul du temps sidéral,
lui même calculé à partir du Jour Julien.
 
Triangle sphérique, changement de coordonnées, écliptique et équateur céleste
 
Temps sidéral
Internet regorge d'informations à ce sujet, on peut aller voir par exemple : ici pour le calcul du Jour Julien.
 
A partir des coordonnées équatoriales d'un astre et du temps sidéral, on obtient donc ses coordonnées azimutales (altitude + azimut)
Quand un objet voit ses coordonnées équatoriales fixes dans le temps, il suffit donc de ces deux calculs.
 
Pour un objet du système solaire, c'est plus compliqué et interviennent le calcul des longitudes héliocentriques de la Terre et de l'astre observé puis le calcul de la réduction topocentrique afin d'en déduire les coordonnées équatoriales, horaires, puis azimutales de l'astre.
 
Les vitesses en altitude et en azimut se déduisent finalement des coordonnées horaires ou bien azimutales en différenciant les formules de Gauss utilisées (calcul assez compliqué).
 
On en déduit également la vitesse de la rotation de champs
Ce trois vitesses permettent avec un système d'entrainement fiable, de faire de la photographie.
Les deux premières vitesses suffisent pour l'observation visuelle.

Voici quelques portions de code en langage C pour ceux qui voudraient se lancer dans l'aventure :
 

code_c_0
void CALCUL_VITESSES(LIEU *li,ASTRE *as) {

  // le calcul des vitesses est fait avec l'angle horaire et la declinaison (azimut et altitude inutiles)
  // La vitesse d'un astre sur le ciel est exprimee ici en secondes d'arc par seconde

  double G, Va, Vh, angle ;
  // angle = 15.0 ==> pas tout à fait 15 

  TRACE1("start") ;

  angle=ANGLE_S ;
 
  G  = sqr(sin(as->A))*sqr(cos(as->H))+sqr(sin(li->lat)*cos(as->H)*cos(as->A)-cos(li->lat)*sin(as->H)) ;

  Va = angle*(cos(as->H)*(cos(li->lat)*cos(as->A)*sin(as->H)-sin(li->lat)*cos(as->H)))/G ;
  Vh = angle*sin(as->A)*cos(as->H)*cos(li->lat)/sqrt(G) ;

  as->Va=Va ;
  as->Vh=Vh ;

  // printf("%2.0f\t%2.8f\t%2.4f\t=>\t%2.8f\t%2.8f\n",(li->lat)*DEGRES,(as->A)*DEGRES,(as->H)*DEGRES,Va,Vh) ;
}