Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3297 connectés 

 


Dernière réponse
Sujet : [Math] Comment savoir si un point se trouve dans un triangle?
Alload Je fais ça pour savoir quels triangles d'une scène 3D sont dans le champ d'action d'une lumière ponctuelle.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Alload Je fais ça pour savoir quels triangles d'une scène 3D sont dans le champ d'action d'une lumière ponctuelle.
slvn cune fois que t intersect sphere et plan,
t obtient un disque et un trianlge (les deux pleins)
 
et la tu traite les intersections cote du triangle/disque
 au final, t aura un "bout de plan qui risque de contenir des parties "circulaire" de d'autre rectiligne..."
 
 
 
simplem question, tu fais quoi comme truc pour avoir besoin de calculer ca ??
Alload Je viens de trouver dans un de mes bouquins de prog graphique un paragraphe qui dit comment calculer la distance entre un point et un triangle. Si j'arrive à comprend alors ce sera facile de savoir si le triangle est dans la sphère ou non.
 
Je vous tiens au courant, mais va déjà falloir que je comprenne le bouquin :D
Alload

slvn a écrit a écrit :

t as tenté ce que je te proposait comme methode ?!
 
3D -> 2D -> droite -> segment -> disjonction de cas  



Ca ne marche pas si l'on considère que la sphère est pleine, oubien?

slvn t as tenté ce que je te proposait comme methode ?!
 
3D -> 2D -> droite -> segment -> disjonction de cas
Alload J'ai fais un édit du premier post pour spécifier que le triangle et la sphère sont pleins.
Xavier_OM sinon newsgroup ; fr.sci.maths  ;)  
slvn héhé c vrai que c trompeur quand meme :d
Caedes

Caedes a écrit a écrit :

 
 
Si le plan passe par le centre de la sphère oui, Si un vecteur normal au plan engendré par le triangle passe par le ceontre du cercle oui , mais dans un cas quelconque, hmmm...
 
(edit : faute d'écriture)




 
Apres plus de réflexion ca sera toujours le cas, autant pour moi...  :jap:
 
 
edit : et en plus je suis grillé... :D

slvn y pas de cas qcq,
car y a toujours un vecteur normal au plan engendré par le triangle qui passe par le centre du cercle
Caedes

slvn a écrit a écrit :

si si je t assure, c est bien un cercle ;)




 
Si le plan passe par le centre de la sphère oui, Si un vecteur normal au plan engendré par le triangle passe par le ceontre du cercle oui , mais dans un cas quelconque, hmmm...
 
(edit : faute d'écriture)

slvn si si je t assure, c est bien un cercle ;)
Caedes

Alload a écrit a écrit :

slvn > donc on teste l'intersection du plan que forme le triangle et de la sphère.
 
Si pas d'intersection -> le triangle ne se trouve pas dans la sphère.
 
Si intersection -> on peut se place dans le plan que forme le triangle, on peut trouver le cercle que décrit la sphère sur ce plan. Mais ensuite tester le triangle et ce cercle redonne le même problème qu'avec la sphère, à savoir que le test des trois sommets de suffit pas.




 
 
Je ne suis pas certain que le résultat en 2D donne une intersection entre un triangle et un cercle. Plutot entre un triangle et une ellipse.
 
Pose ta question là bas :
 
http://www.forum.math.ulg.ac.be/cg [...] ea=Gomtrie

slvn dnas le plan, disque / triangle, c est deja + simple,  
 
tu peux commencer par regarder si les droites qui portent les segments, coupent le cercle.
ensuite si les segment eux meme coupent le cercle.(-> la tu peut determiner les pts d intersection)
 
enfin tu termine par une disjonction de cas pour determiner l'intersection totale.
Xavier_OM

Alload a écrit a écrit :

Tu connais un moyen de chercher l'intersection en math pure? Tu pourrais donner la méthode?




 
ben mathématiquement pour une sphère on chercherait les points du plan engendré par le triangle qui vérifient l'équation de la sphère. Pour une sphère pleine ca doit exister aussi je pense.

Alload

Xavier_OM a écrit a écrit :

c'est vrai que pour le coup c'est pas évident. En maths c'est simple, on cherche l'intersection et puis c'est bon, mais pour programmer une procédure de test je sais pas trop (je suis ni prof de maths ni programmeur)



Tu connais un moyen de chercher l'intersection en math pure? Tu pourrais donner la méthode?

Xavier_OM c'est vrai que pour le coup c'est pas évident. En maths c'est simple, on cherche l'intersection et puis c'est bon, mais pour programmer une procédure de test je sais pas trop (je suis ni prof de maths ni programmeur)
 
une fois en 2D, ton cercle peut etre :
soit dans le triangle complétement
soit tangeant a un ou plusieur coté
soit à l'exterieur mais secant a un ou plusieurs cote
soit totalement a coté.
 
Donc il faut tester la position du centre du cercle par rapport au centre du triangle, puis voir avec le rayon de ce cercle
Alload slvn > donc on teste l'intersection du plan que forme le triangle et de la sphère.
 
Si pas d'intersection -> le triangle ne se trouve pas dans la sphère.
 
Si intersection -> on peut se place dans le plan que forme le triangle, on peut trouver le cercle que décrit la sphère sur ce plan. Mais ensuite tester le triangle et ce cercle redonne le même problème qu'avec la sphère, à savoir que le test des trois sommets de suffit pas.
slvn a ta place, je commencerai  pas faire :
 
intersection de la sphere et du plan contenant le triange.
(calcul de la distance centre_sphere & plan )
 
et s il y a intersection,  t es ramené a un pb en 2 D.
Alload Xavier_OM > d'accord pour tes inégalités, mais c'est pas faisable car il y a une infinité de point à tester à l'intérieur de la sphère. Non?
Xavier_OM "Comme nous savons que le chemin le plus court entre le triangle et le centre de la sphère passe par une droite colinéaire à un vecteur normal au plan que forme le triangle"
 
pas forcément, ca dépend de où se trouve ta sphère. Si on imagine qu'elle est "en dessous" ou "au dessus d'un triangle "vertical" (c'est affreusement non mathématique mais je pense être clair), et bien le "chemin le plus court" passe par une droite vectorielle apartenant au plan engendré par le triangle. Elle est donc orthogonal au vecteur normal au triangle.
 
Pour déterminer si un point appartient à un triangle, il faut vérifier trois inégalités par rapport aux trois cotés.
Ex pour un triangle equilatéral ABC, A sommet en haut, B-C la base en bas, de gauche à droite : il faut que les coordonnées du point vérifient : > equation_de_droite_de_BC et <equation_de_droite_de_AB et <equation_de_droite_de_AC
Alload

slvn a écrit a écrit :

quan "tu veux savoir si ton trianlge intersect une sphere", tu parle d'un triangle plein ou pas plein ?



Un triangle plein.

slvn quan "tu veux savoir si ton trianlge intersect une sphere", tu parle d'un triangle plein ou pas plein ?
Alload En fait, quand j'y ai réfléchi hier soir avant de dormir je me suis rendu compte que ma méthode ne marchait pas du tout: même si le point du plan que forme le triangle se trouve à l'intérieur de la sphère, cela ne veut pas dire que le triangle s'y trouve.
 
Je vais chercher un peu sur le net.
airseb dans le red book, annexe F, ils parlent de l'intersection d'un point et d'un plan, ça te convient ?
Alload J'ai besoin de savoir si un triangle PLEIN intersecte une sphère PLEINE. Afin de faire ça, je me suis rappelé mes exos de maths de Terminale où l'on déterminait la projection orthogonale d'un point sur un plan.
 
Comme nous savons que le chemin le plus court entre le triangle et le centre de la sphère passe par une droite colinéaire à un vecteur normal au plan que forme le triangle, nous pouvons calculer une équation paramétrique de cette droite:
 
vecteur d = centre de la sphère + k * une normale du triangle
 
Ensuite nous calculons l'équation du plan que forme le triangle, et il est ensuite trivial de déterminer les coordonnées du point d'intersection de la droite et du plan.
 
Par contre, maintenant ça se complique vu que je n'ai pas de cours là-dessus: comment peut-on savoir si le point d'intersection se trouve à l'intérieur du triangle ou non?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)