SALUT A TOUS.
VOILA j'ai un exercice:
"apres de determiner les coordonnees des 3 sommet d'un triangle.je dois verifier ,on prenant des coordonnees d'un point au hazard,si elle est a l'interieur du triangle.
donc je trouve pas de solution ,pouvez vous m'aider??
merci beaucoup
desolé , mais je t'explique la situation exactement , c'est que j'ai besoin de cette aide pour resoudre un problem de programation qui est :
" Faites un programme en C qui effectue la lecture à partir du clavier des coordonnées des sommets d'un triangle et les coordonnées de N points. Pour chaque point il doit calculer s'il se retrouve à l'intérieur du triangle."
et ca necessite du maths.
Est-ce que tu pourrais exprimer cela comme la solution d'un syteme d'inequations?
Tu determines l'equation de chaque droite Ab, AC, BC. Pour chaque paire de points tu as une condition (intervalle) pour l'abscisse de N et une condition pour l'ordonnee (y> ou < mx+b).
Ca implique de pouvoir identifier la position relative des points.
Bon courage
Bonsoir,
il existe plusieurs méthodes pour résoudre ce problème.
Supposons que tu connaisses les coordonnées des points A, B et C et du point M dont tu cherches à savoir s'il est dans le triangle ou pas.
Voici quelques idées :
1) Avec des équations de droites
Tu determines les équations des 3 droites (AB), (AC) et (BC) sous la forme cartésienne ax+by+c=0.
Puis, pour chaque droite, tu vérifies si le point M s'il est du même côté de la droite que le troisième point.
Ainsi, pour la droite (AB), on pose : f(x,y)=ax+by+c
Tu calcules f(xc,yc) et f(xm,ym). Si ces 2 valeurs sont du même signe, c'est que C et M sont du même côté de la droite (AB).
Puis tu fais pareil pour les 2 autres droites.
2) Avec le produit vectoriel et le produit scalaire
En vecteurs, avec ^ le produit vectoriel et . le produit scalaire.
Il faut vérifier faire les 3 calculs suivants :
X = (AB^AM).(AM^AC)
Y = (BA^BM).(BM^BC)
Z = (CA^CM).(CM^CB)
Si X, Y et Z sont positifs, alors le point M est à l'intérieur du triangle.
3) Avec des calculs d'aires
Rappel de la formule de Héron : ABC est un triangle de côtés a,b et c, on pose p=(a+b+c)/2.
L'aire du triangle ABC est égale à : S=V(p(p-a)(p-b)(p-c)) (V:racine carrée)
Donc, tu calcules l'aire des triangles ABC, ABM, ACM et BCM.
SI l'aire du triangle est égale à la somme des aires des triangles ABM, ACM et BCM, alors le point M est à l'intérieur du triangle ABC.
4) Avec des calculs d'angles
Si la somme des aires des angles AMB, BMC et CMA est égale à 360°, alors le point M est à l'intérieur du triangle ABC.
Mais pour calculer les angles, il est nécéssaire de calculer leur cosinus et sinus avec mes produits scalaires et vectoriels, donc peu intéressant ...
Il existe aussi une méthode générale qui permet de tester si un point est à l'intérieur d'un polygone quelconque.
Le principe consiste à imaginer un "rayon" passant par le point et à determiner le nombre de points d'intersections de ce rayon avec les côtés du polygone.
En fonction de la parité de ce nombre, on sait si le point est à l'intérieur ou à l'exterieur ...
On en parle ici :
Il l'est! Je vais archiver sa contribution pour future reference. Merci Jamo
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :