Merci Ixy pour ta réponse.
Je vois ça autrement je crois :
Soit O l'origine.
Pour la demi-droite :
Passant par P et de vecteur directeur
d. (souligné pour vecteur)
L'intersection I s'exprime :
OI =
OP + a.
d, a >= 0 .
Pour le triangle :
(T1, T2, T3)
L'intersection I s'exprime :
OI =
OT1 + u.
T1T2 + v.
T1T3, 0 <= u <= 1 et 0 <= v <= 1 et u + v <= 1.
Donc il faut résoudre l'équation :
OP + a.
d =
OT1 + u.
T1T2 + v.
T1T3 et vérifier les conditions. (u et v sont les coordonées barycentriques).
Cela revient à résoudre ce système d'équations linéaires à 3 inconnues (a, u, et v) :
a * d.x + u * (t1.x - t2.x) + v * (t1.x - t3.x) = t1.x - p.x
a * d.y + u * (t1.y - t2.y) + v * (t1.y - t3.y) = t1.y - p.y
a * d.z + u * (t1.z - t2.z) + v * (t1.z - t3.z) = t1.z - p.z
(enfin si j'ai pas fait d’erreur(s) de calcul.

)
Il y a intersection si :
Le système a bien 3 solutions (réelles).
a >= 0, u >= 0, v >= 0 et u + v <= 1.
L'intersection I a alors pour coordonnées barycentriques (u, v).