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

Langage Java Discussion :

calcul coordonnées point


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut calcul coordonnées point
    Bonjour,

    j'aimerais savoir comment je peux obtenir les coordonnées d'un point B sachant que j'ai :
    - la distance entre ce point et un autre point A dont j'ai les coordonnées
    - l'équation de la droite formée par les deux points

    Ce que je n'arrive pas à faire, c'est programmer cette fonction. Car comment le faire mathématiquement, je sais le faire. Il faudra que je résolve un système avec deux équations qui sont :

    (d*d) =( (xA-xB)*(xA-xB) + (yA-yB)*(yA-yB))
    y=ax+b

    Sachant que d, xA, xB, a et b sont connues, je remplace les valeurs dans la première équation puis il ne reste que deux inconnues, xB et yB. Ensuite, je remplace la valeur de yB pa l'équation et j'arrive à trouver xB puis je peux déduire yB.

    Mais je ne sais pas comment faire pour programmer cela, est ce que quelqu'un pourrait m'aider?

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Points : 73
    Points
    73
    Par défaut
    Je ne pense pas qu'il y ait de classe Sun permettant de faire ça. Il faudrait que tu crées une méthode permettant de faire le calcul. Je te conseille d'utiliser la méthode de Cramer, ce doit être le plus simple (juste des calculs de déterminants).

  3. #3
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par diambu
    j'aimerais savoir comment je peux obtenir les coordonnées d'un point B sachant que j'ai :
    - la distance entre ce point et un autre point A dont j'ai les coordonnées
    - l'équation de la droite formée par les deux points
    Ce problème a 2 solutions (l'intersection d'un cercle avec une droite qui passe par le centre du cercle)... Tu veux récupérer les 2?

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    oui, je veux avoir les deux solutions

  5. #5
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Il suffit de trouver le "déplacement" de B par rapport à A (vecteur AB), donc la longueur est l, décomposée en (lx,ly).

    Pour trouver lx et ly, il suffit d'utiliser l'angle qu'il y a entre y=0 et y=ax+b.
    Cet angle alpha vaut tan^(-1) (a) (arctangeante de a (le a de ax+b)).
    Tu détermines lx et ly à partir de ça:
    lx = l * cos(alpha)
    ly = l * sin(alpha)

    Et tu as tes 2 points:
    B1=(Ax+lx,Ay+ly)
    B2=(Ax-lx,Ay-ly)

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    le l que j'utilise pour avoir lx et ly correspond à la distance entre les deux points?

  7. #7
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par diambu
    le l que j'utilise pour avoir lx et ly correspond à la distance entre les deux points?
    Tout à fait.

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    ok merci, c'est en effet plus simple vu comme ça.

    je vais essayer ça de suite

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    juste une petite info, pour avoir les coordonnées du point d'intersection de deux droites sachant que j'ai les équations des droites , il faut bien que je fasse par ex :
    (D1) y=a1x+b1
    (D2) y=a2x+b2

    a1x+b1 = a2x+b2 , je trouve x et ensuite je trouve y en remplaçant la valeur de x dans l'une des deux équations?

    parce que quand j'essaie de faire cela, je n'obtiens pas du tout le point d'intersection ou j'ai peut être fait une erreur dans mon code.

  10. #10
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par diambu
    juste une petite info, pour avoir les coordonnées du point d'intersection de deux droites sachant que j'ai les équations des droites , il faut bien que je fasse par ex :
    (D1) y=a1x+b1
    (D2) y=a2x+b2

    a1x+b1 = a2x+b2 , je trouve x et ensuite je trouve y en remplaçant la valeur de x dans l'une des deux équations?

    parce que quand j'essaie de faire cela, je n'obtiens pas du tout le point d'intersection ou j'ai peut être fait une erreur dans mon code.
    Ouais, x = (b2-b1)/(a2-a1)
    avec a2-a1 != 0 bien sûr, et même pour les problèmes de précision machine pas trop proche de 0

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Je sais que mon problème initial a déjà été résolu mais comme c'est à peu près la même chose, je vais le mettre à la suite.

    Cette fois-ci, j'aimerais avoir les coordonnées d'un point qui doit se trouver à une distance d'une droite.
    J'ai :
    -l'équation de la droite
    -la distance du point par rapport à la droite

    Je ne sais pas si juste avec ces deux données, je peux avoir les coordonnées de mon point?

  12. #12
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Il y a une infinité de solutions : tous les points se trouvant sur une des droites parallèles à ta droite d, à la distance donnée...

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    en fait, ce que je veux, c'est construire la parallèle de la droite à une distance d. Et je pensais qu'obtenir un des points de la droite serait un bon début

  14. #14
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    à partir de ta droite:
    y = ax + b
    <==>
    0 = ax -y +b

    Donc la normale à ta droite est (a;-1), tu normalises ça fait n = (a;-1)/sqrt(a²+1).
    Tu multiplies par ta distance pour... euh... bah pour trouver un point à la bonne distance... ça fait d*n

    Tu choisis un point sur ta droite, tu lui ajoutes d*n, tu obtiens un point, tu retranches d*n, tu obtiens un autre point...

    Tu obtiens les points qui sont à distance d de ta droite, et dont la projection est le point que tu as choisi

  15. #15
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par diambu
    en fait, ce que je veux, c'est construire la parallèle de la droite à une distance d.
    Ah, donc tu veux l'équation des parallèles?

    Ta droite D a une équation y = ax + b...
    Même principe que pour ton problème précédent, avec la géométrie...

    Tu es d'accord que les droites parallèles auront pour équations:
    y = ax + b + k
    et
    y = ax + b - k
    ? (ils ont le même coeff diff, c'est l'ordonnée à l'origine qui change).
    Il faut donc trouver k...

    Tu veux que tes droites soient à une distance d... Intuitivement, si tes droites sont "penchées" on se rend bien compte que d est différent de k... (sinon on comprend pas bien pourquoi on fait un calcul )

    Donc c'est difficile à expliquer sans dessin, en gros il faut que tu calcules l'angle formé par (y=0) et ta droite, ce qui vaut tan^-1(a) (on l'a déjà fait l'autre jour).
    et en faisant un petit dessin tu te rends compte que:
    k = d / (sin (pi/2 - tan^-1(a)))

    Donc tu as l'équation de tes 2 droites parallèles...

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    merci beaucoup @om

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

Discussions similaires

  1. Calculer coordonnées 3D à partir de deux points 2D
    Par lucieb dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 24/03/2015, 13h57
  2. Réponses: 3
    Dernier message: 24/07/2014, 16h55
  3. Calcul coordonnées centre d'un cercle passant par deux points
    Par acecel dans le forum Mathématiques
    Réponses: 12
    Dernier message: 13/04/2010, 14h47
  4. Calcul coordonnée d'objet en mouvement
    Par pkpas dans le forum Mathématiques
    Réponses: 7
    Dernier message: 25/07/2007, 14h42
  5. calculs des points
    Par rabi dans le forum OpenGL
    Réponses: 11
    Dernier message: 12/02/2004, 10h03

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