Coordonnées cartésiennes -> polaires (angle à partir d'un point)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 540 fois - Téléchargée 29 fois

Contenu du snippet

voilà un petit code qui permet de trouver l'angle que fait un point (x,y) avec l'axe des x, et sa distance à l'origine.

En clair, il inverse les relations :

X = R * Cos(Angle)
Y = R * Sin(Angle)

Ce n'est pas très compliqué, mais il marche dans tous les cas, ce que je n'ai pas souvent vu sur ce site ... :)
L'angle final est donné en radian, et est compris entre 0 et 2 Pi.
Pour le convertir en degré : Angle = 180 * Angle / Pi

Source / Exemple :


' Remarque :
' Angle, R et Pi sont des variables globales
' Pi = 3.1415926... ou Pi = 4*Atn(1)

Private sub Polaire(ByVal X As Single, ByVal Y As Single)

R = Sqr(X ^ 2 + Y ^ 2) 
If R = 0 Then Exit sub

If X = 0 Then
  Angle= Sgn(Y) * Pi / 2
Else
  Angle = Atn(Y/X)
  if X < 0 then Angle = Pi + Angle
End If

If Angle < 0 Then
  Angle = Angle + 2 * Pi
End If

End sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
mercredi 17 février 2010
Statut
Membre
Dernière intervention
15 juillet 2012

impec! merci d'avoir partagé!
Messages postés
140
Date d'inscription
mercredi 18 juin 2003
Statut
Membre
Dernière intervention
16 décembre 2006

Merci Vb Lover.
Messages postés
5
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
9 septembre 2011

Merci Vb Lover je vais utiliser ce truc trés prochainement

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.