Aller au contenu

convertir sous excel coordonnees...


williams

Messages recommandés

Posté

Bonjour,

 

Si on a des coordonnees polaires d'une planete en radian, exemple r=distance, X=longitude et Y=latitude quels sont les equations pour :

 

- Convertir ces coordonnees polaires en coordonnees spheriques ?

 

- Convertir ces coordonnees polaires en coordonnees cartésiennes ?

 

merci

 

Williams

Posté

Bonjour William,

 

Pour moi, les coordonnées polaires (http://www.bibmath.net/dico/index.php3?action=affiche&quoi=./c/coordonnees.html) sont définies dans le plan => deux valeurs (distance, angle), si tu donnes une distance et deux angles, ce sont déjà les coordonnées sphériques.

 

Pour la conversion des unes vers les autres : http://www.siteduzero.com/tuto-3-8528-1-la-trigonometrie.html

 

A+

Posté

Pour info, voici des formules que j'ai employées pour convertir des coordonénes AD et Dec en hauteur azimuth

 

L'angle horaire dépend de la date à laquelle on veut faire la conversion, l'AD et le Dec sont les coordonnées AD/Dec, la zone est la position par rapport au méridien 0 (en France, c'est 1 en hiver et 2 en été), la longitude est la longitude du lieu.

Cette variable (H) est reprise par les fonction hauteur et azimuth qui utilisent aussi la latitude du lieu

 

Function Angle_horaire(AD As Date, Longitude As Single, Date_choisie As Date, Heure_choisie As Date, Zone As Integer) As Single

Dim Dayz, Monthz, Yearz, Hourz, Minutez, Secondz As Integer

Dim AD_in_degre, A, B, C, D, JJ, T, H1, HSH, HS, AngleH, AngleT, PI As Single

PI = 3.14159

Dayz = Day(Date_choisie)

Monthz = Month(Date_choisie)

Yearz = Year(Date_choisie)

Hourz = Hour(Heure_choisie)

Minutez = Minute(Heure_choisie)

Secondz = Second(Heure_choisie)

AD_in_degre = 15 * (Hour(AD) + Minute(AD) / 60 + Second(AD) / 3600)

If (Monthz < 3) Then

Monthz = Monthz + 12

Yearz = Yearz - 1

End If

A = Int(Yearz / 100)

B = 2 - A + Int(A / 4)

C = Int(365.25 * Yearz)

D = Int(30.6001 * (Monthz + 1))

JJ = B + C + D + Dayz + 1720994.5

T = (JJ - 2451545) / 36525

H1 = 24110.54841 + (8640184.812866 * T) + (0.093104 * (T * T)) - (0.0000062 * (T * T * T))

HSH = H1 / 3600

HS = ((HSH / 24) - Int(HSH / 24)) * 24

AngleH = (2 * PI * HS / (23 + 56 / 60 + 4 / 3600)) * 180 / PI

AngleT = ((Hourz - 12 + Minutez / 60 - Zone) * 2 * PI / (23 + 56 / 60 + 4 / 3600)) * 180 / PI

Angle_horaire = AngleH + AngleT - AD_in_degre + Longitude

End Function

 

Function Arsin(ByVal X As Single) As Single

If (Abs(X) >= 1) Then Arsin = 0 Else Arsin = Atn(X / Sqr(-X * X + 1))

End Function

 

Function Arcos(ByVal X As Single) As Single

If (Abs(X) >= 1) Then Arcos = 0 Else Arcos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

End Function

 

Function Hauteur(Dec As Single, Latitude As Single, H As Single) As Single

Dim Sin_hauteur, PI As Single

PI = 3.14159

Sin_hauteur = Sin(Dec * PI / 180) * Sin(Latitude * PI / 180) - Cos(Dec * PI / 180) * Cos(Latitude * PI / 180) * Cos(H * PI / 180)

Hauteur = Arsin(Sin_hauteur) * 180 / PI

End Function

 

Function Azimuth(Dec As Single, Lat As Single, H As Single, Haut As Single) As Single

Dim Cosazimuth, Sinazimuth, test, Az As Single

PI = 3.14159

Cosazimuth = (Sin(Dec * PI / 180) - Sin(Lat * PI / 180) * Sin(Haut * PI / 180)) / (Cos(Lat * PI / 180) * Cos(Haut * PI / 180))

Sinazimuth = (Cos(Dec * PI / 180) * Sin(H * PI / 180)) / Cos(Haut * PI / 180)

If (Sinazimuth > 0) Then Az = Arcos(Cosazimuth) * 180 / PI Else Az = -Arcos(Cosazimuth) * 180 / PI

If (Az < 0) Then Azimuth = 360 + Az Else Azimuth = Az

End Function

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.