Calculer un angle

Contenu du snippet

calcule un angle en degrés (0->360) en sachant que le haut est à 0° et sens des aiguilles.

'renvoi une décimale avec virgule à double précision

Source / Exemple :


Function angle(ByVal origine_x As Integer, ByVal origine_y As Integer, ByVal destination_x As Integer, ByVal destination_y As Integer)
    Dim left As Integer = destination_x - origine_x
    Dim top As Integer = destination_y - origine_y
    Dim anglep As double
    If Math.Sqrt(top ^ 2 + left ^ 2) = 0 Then Exit Function
    Select Case top
      Case Is >= 0
        anglep = Math.Atan(left / top) - Math.PI
      Case Is < 0
        anglep = Math.Atan(left / top)
    End Select
    If anglep < 0 Then anglep = anglep + 2 * Math.PI
    anglep = 360 - (180 * anglep / Math.PI)
    'O en haut, sens de la montre
    Return anglep
  End Function

A voir également

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.