Retrouver un point à partir d'un autre point et d'une distance

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 648 fois - Téléchargée 21 fois

Contenu du snippet

'Cette fonction permet de trouver les coordonnées d'un point 2 à partir d'un point 1 , une distance au point 1 et un angle sur le point 1:

'ps: 0 /360 ° en haut et sens de la montre

Source / Exemple :


Function retrouver_x2y2(ByVal x1 As Integer, ByVal y1 As Integer, ByVal distance As Integer, ByVal angle As double)
    Dim x2, y2 As Integer
    Select Case angle
      Case Is <= 90
        x2 = x1 + distance * Math.Sin(angle / 180 * Math.PI)
        y2 = y1 - distance * Math.Cos(angle / 180 * Math.PI)
      Case Is <= 180
        x2 = x1 + distance * Math.Cos((angle - 90) / 180 * Math.PI)
        y2 = y1 + distance * Math.Sin((angle - 90) / 180 * Math.PI)
      Case Is <= 270
        x2 = x1 - distance * Math.Sin((angle - 180) / 180 * Math.PI)
        y2 = y1 + distance * Math.Cos((angle - 180) / 180 * Math.PI)
      Case Else
        x2 = x1 - distance * Math.Cos((angle - 270) / 180 * Math.PI)
        y2 = y1 - distance * Math.Sin((angle - 270) / 180 * Math.PI)
    End Select
    Dim point_cherche As New Point(Math.Round(x2, 0), Math.Round(y2, 0))
    Return point_cherche
  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.