Savoir si un pts est dans un triangle

stephane - 31 oct. 2001 à 21:17
 Vb Lover - 10 déc. 2001 à 17:09
bonjour,

je voudrais savoir si quelqu'un aurait un algorythme pour savoir si un point (x,y) est dans un triangle (x1,y1,x2,y2,x3,y3)

merci à tous pour vos réponses

4 réponses

Si tu as trois points A(xa,ya) B(xb,yb) C(xc,yc)
tu veux savoir si le point M(xm,ym) Se trouve dans le triangle ABC:

tu remarque que si le poit M se trouve dans le triangle
la DEMI droite verticale partant de M coupe le triangle en
UN point sinon elle le coupe en 2 points ou aucun.
donc tu cherche le nombre de points d'intercection.
tu limite ta recherche a: inf(xa,xb,xc)<xm<sup(xa,xb,xc)
et a : sup(ya,yb,yc)<ym<inf(ya,yb,yc)
inf:INFERIEUR
sup:SUPERIEUR
0
merci de ta réponse!

j'avais trouvé entre temps si AMB + BMC + AMC = 360° alors il est dedans

a+
0
Hum,ta solution est élégante mais pas trés facile a mettre en oeuvre.
tu as je pense une condition comme celle ci:
arctg(A)+arctg(B)+arctg(C)=2*pi
avec A =((ym-yb)/(xm-xb)-(ym-ya)/(xm-xa))/1+(ym-yb)*(ym-ya)/(xm-xb)*(xm-xa))
et B,C du meme tonneau...
0
Pour les calés, on peut aussi procédé à un changement de base (on envoie les vecteurs de base sur deux des côtés du triangle) et on regarde si les coordonnées du point dans la nouvelle base sont plus grandes que 0 et plus petites que 1. Le tout prend 2-3 lignes et est d'une élégance rare !
0
Rejoignez-nous