Trouver un point à une certaine distance d'un autre sur une droite
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
Alays
- Messages: 6
- Enregistré le: 28 Oct 2010, 22:01
-
par Alays » 02 Juil 2013, 11:03
Bonjour,
je suis en train de faire un petit programme informatique et j'ai besoin pour mon algo de trouver un point à une certaine distance d'un autre sur une droite donc j'ai essayé qqch :
je connais au début deux points par exemple P1 (Xa,Ya) et P2(Xb,Yb) et la droite sur laquelle ils se trouvent y = m*x+p .
bon ici m = (Yb-Ya)/(Xb-Xa) et p = Ya - (Yb-Ya)/(Xb-Xa)*Xa
ensuite je veux chercher un point P3(Xc,Yc) qui se trouve sur cette droite à une distance M de P1 donc du coup on a :
M = racine_carree( (Xc-Xa)² + (Yc-Ya)²) ici Yc je le remplace par l'equation de la droite car P3 se trouve sur cette droite
on a donc :
M² = (Xc -Xa)² + (m* Xc +p -Ya)²
du coup c'est une simple résolution d'eq du 2nd degré :
(1+m²) Xc² + (-2Xa - 2( m * p *-Ya)) Xc + (Xa²+(p-Ya)² -M² )
bon ensuite je fais pas le delta et tout le tralala, ya deux solutions vu qu'on cherche un point à une distance d'un autre donc delta est forcément > 0
Bon mon problème c'est qu'une fois que je récupère les 2 solutions je les mets dans la droite pour obtenir les coordonnées y, ensuite je calcule la distance entre P3 et P1 et ma distance est différente de M je ne comprends pas pourquoi .
-
spike0789
- Membre Relatif
- Messages: 131
- Enregistré le: 06 Mai 2013, 10:50
-
par spike0789 » 02 Juil 2013, 11:29
Salut,
Tu peux faire plus simple en utilisant la trigonométrie. Je m'explique :
Tu connais les coordonnées de A. Tu cherches C tel que AC=M donc forcément deux solutions possibles. En faisant un dessin de la droite avec le point A et un des deux points C, tu peux faire apparaître un triangle rectangle en un point D (par exemple) de coordonnées (Xa;Yc) et de côté |Yc-Ya| et |Xc-Xa|.
Comme tu connais le coefficient directeur, tu connais les angles de ce triangle...
Concernant ta méthode, il me semble voir une erreur dans ton équation : tu as écrit p*-Ya et non p-Ya...
-
spike0789
- Membre Relatif
- Messages: 131
- Enregistré le: 06 Mai 2013, 10:50
-
par spike0789 » 02 Juil 2013, 11:33
Aussi une erreur de signe ! La bonne équation serait :
(1+m²) Xc² + (-2Xa + 2*m * (p -Ya)) Xc + (Xa²+(p-Ya)² -M² )=0
-
chan79
- Membre Légendaire
- Messages: 10330
- Enregistré le: 04 Mar 2007, 19:39
-
par chan79 » 02 Juil 2013, 11:45
En suivant la méthode d'Alays, j'arrive à l'équation
les abscisses des deux points de la droite situés à la distance M de P1 sont

et

edit: équation corrigée; le M est au carré
-
Black Jack
par Black Jack » 02 Juil 2013, 11:59
(1+m²) Xc² + (-2Xa - 2( m * p *-Ya)) Xc + (Xa²+(p-Ya)² -M² ) est faux, pour moi, tu devrais trouver :
(1+m²) Xc² + (-2Xa + 2( m.p - m.Ya)) Xc + (Xa²+(p-Ya)² -M² ) = 0
... Et alors c'est OK.
Edit: double emploi. :ptdr:
:zen:
-
Alays
- Messages: 6
- Enregistré le: 28 Oct 2010, 22:01
-
par Alays » 02 Juil 2013, 12:28
pour léquation que j'ai mis effectivement ya une erreur de frappe ... ^^
yes j'ai réussi à retrouver ton équation en fait il faut développer p c'est plus facile pour dérouler ensuite bon bah merci pour vos réponses, et spike0789 sans doute oui pour la trigo mais je préfère faire ma méthode je vais y jeter un coup d'oeil pour voir si c'est moins long à mettre en place dans mon algo
-
spike0789
- Membre Relatif
- Messages: 131
- Enregistré le: 06 Mai 2013, 10:50
-
par spike0789 » 02 Juil 2013, 13:03
chan79 a écrit:En suivant la méthode d'Alays, j'arrive à l'équation
les abscisses des deux points de la droite situés à la distance M de P1 sont

et

Effectivement et on retrouve bien les résultats de la trigo : si alpha est l'angle que fait la droite avec l'axe des abscisses, on a tan(alpha)=m et :
Xc= Xa +/- M*cos(alpha)
avec
^2=\fra{1}{1+tan(alpha)^2}=\fra{1}{1+m^2})
Tout est bien cohérent

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 30 invités