La distance d'un point P à la droite (AB)
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
ghghgh
- Membre Relatif
- Messages: 305
- Enregistré le: 04 Aoû 2006, 15:20
-
par ghghgh » 06 Aoû 2006, 13:20
Bonjour!
Comme le dit l'intitulé, je cherche une formule se basant sur l'équation de droite qui permet de calculer la distance d'un point P à la droite (AB). Je n'ai pas encore vu cette formule en cours. Si quelqu'un pouvait me la donner, je lui en serait reconnaissant! :we:
Merci!
ghghgh
-
Nightmare
- Membre Légendaire
- Messages: 13817
- Enregistré le: 19 Juil 2005, 17:30
-
par Nightmare » 06 Aoû 2006, 13:45
Bonjour
Te la donner ? Non ce ne serait pas amusant :lol3:
Il faut que tu la trouves toi même !
La distance entre un point P à une droite D est la longueur du segment passant par P et perpendiculaire à D
Soit y=ax+b l'équation de ta droite D et P(x,y) un point quelconque.
Peux-tu trouver les coordonnées du point M de D tel que (PM) et D soient perpendiculaires ?
Déduis-en la formule
:happy3:
-
Flodelarab
- Membre Légendaire
- Messages: 6574
- Enregistré le: 29 Juil 2006, 14:04
-
par Flodelarab » 06 Aoû 2006, 18:50
Je suis d'accord avec la démarche de Nightmare et j'ajoute 2 indices:
- pour calculer une distance, on utilise pythagore (facile comme on connait les coordonnées et que l'axe des x et des y sont perpendiculaires)
- le coefficient directeur d'une droite perpendiculaire à ta droite D est l'opposé de l'inverse du coefficent directeur de ta droite D (chaque mot compte)
-
ghghgh
- Membre Relatif
- Messages: 305
- Enregistré le: 04 Aoû 2006, 15:20
-
par ghghgh » 06 Aoû 2006, 20:20
ok, merci pour votre aide! :we:
j'ai bidouillé ça:
tableau[i].distance = ((a * tableau[i].x) - (1 * tableau[i].y)) + b / (sqrt((a*a) + (1*1)));
(c'est pour un prog qui prend plusieurs points en paramètres et qui recherche le point situé à la plus grande distance, mon prog retourne le bon point 60 % du temps...)
Qui se traduit par :
distance = (ax - y + b) / Racine carrée(a² + 1²)
Est-ce ça la bonne formule ?
Si oui, c'est juste un problème de fignolage, sinon c'est l'algo qui est faux... :cry:
re-merci pour vos réponses! :happy2:
-
Nightmare
- Membre Légendaire
- Messages: 13817
- Enregistré le: 19 Juil 2005, 17:30
-
par Nightmare » 06 Aoû 2006, 20:25
Oui c'est bon
-
ghghgh
- Membre Relatif
- Messages: 305
- Enregistré le: 04 Aoû 2006, 15:20
-
par ghghgh » 06 Aoû 2006, 20:42
Bon ok, merci pour l'aide! :we:
j'ai donc plus qu'à régler un vieux bug au niveau du programme...
j'ai déjà réglé le problème de la parenthèse après le b) / dans l'instruction principale du programme, mais toujours les mêmes erreurs, ça doit être une erreur de précision dûe au type double...
bye, je serai ravi de vous rendre la pareille, bien qu'au niveau des maths ça risque d'être dur.^^
-
Flodelarab
- Membre Légendaire
- Messages: 6574
- Enregistré le: 29 Juil 2006, 14:04
-
par Flodelarab » 06 Aoû 2006, 20:43
Je comprends pas la reponse.
si y=ax+b est l'equation de ta droite, ax-y+b=0... donc distance nulle a chaque fois.
-
Flodelarab
- Membre Légendaire
- Messages: 6574
- Enregistré le: 29 Juil 2006, 14:04
-
par Flodelarab » 06 Aoû 2006, 20:48
Si t'as fait copier/ coller, c ptet pasque tu as tapé 1 au lieu de taper b au dénominateur?
-
ghghgh
- Membre Relatif
- Messages: 305
- Enregistré le: 04 Aoû 2006, 15:20
-
par ghghgh » 06 Aoû 2006, 22:01
C'est bien 1 et non pas b au dénominateur.
Du moins l'algo fonctionne comme ça maintenant, en fait il fallait que je fasse :
distance = Valeur absolue((ax - y + b)) / Racine carrée(a² + 1²)
et voilà, problème résolu! ^^
(grâce à vous) :++:
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 30 invités