IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez .NET Discussion :

[VB.NET] Comment déterminer les coordonnées d'un point à distance et angle définis ? [Trucs & Astuces]


Sujet :

Contribuez .NET

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Par défaut [VB.NET] Comment déterminer les coordonnées d'un point à distance et angle définis ?
    Bonjour
    j'ai un problème. et me semble t'il plus de math que de prog.

    j'utilise bitmap et Graphics pour la génération de mon image.
    le rendu ce fait dans une picturebox.

    je m'explique.

    je suis en train de créer une image.

    exemple :

    j'ai un point. position X = 200 et y = 200

    et j'aimerai faire un trait vers un autre point.
    qui de trouve à une distance de 20 pixel de lui et à un angle de 68 degrés.

    tout les valeur données sont bien sûr modifiable...

    quelqu'un aurrais t'il une idée.

    parce que la. je bloque depuis plusieurs heure....

    Merci pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Souvenir de trigo d'il y a plus de 30 ans (donc à verifier)

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Imports Microsoft.VisualBasic
    Imports System
    ' ...
     
    Public Function CalculNewPoint( _
        ByVal originalP As Point, _
        ByVal distance As Integer, _
        ByVal angle As Double) As Point
     
        Dim adjacent As Integer
        Dim opposé As Integer
        Dim newX As Integer
        Dim newY As Integer
     
        adjacent = distance * Math.Cos(angle)
        opposé = adjacent * Math.Tan(angle)
        newX = (originalP.X + adjacent)
        newY = (originalP.Y + opposé)
     
        Return New Point(newX, newY)
     
    End Sub
    Citation Envoyé par MSDN
    Notes
    L'angle doit être en radians
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim angle As Double = Math.PI * angleEnDegres / 180.0
    Classe Math

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 7
    Par défaut
    Merci pour tout.
    ça marche parfaitement.

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    @neguib : même après 30 ans, tu es toujours frais

  5. #5
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par smyley
    @neguib : même après 30 ans, tu es toujours frait
    Merci j'en dirais pas autant de mes artères

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/05/2012, 10h13
  2. Réponses: 1
    Dernier message: 22/05/2010, 00h16
  3. Réponses: 10
    Dernier message: 28/05/2009, 22h06
  4. [VB.NET] Comment lister les ordinateurs d'un réseau
    Par Jan-t dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/03/2005, 08h44
  5. Réponses: 2
    Dernier message: 14/09/2004, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo