J'ai trouvé ça
t = - ( (A*X + B*Y + C*Z + D) / (A*DIR.x + B*DIR.y + C*DIR.z) )
pour tracer un plan.
A,B,C c'est la normale du plan.
x,y,z = (O.x-pointplaneX O.y-pointplaneY O.z-pointplane.Z).
Pointplane est un point du plan que l'on connait (pour construire le plan on lui passe un point sur le plan et la normale du plan).
les pointplaneX, pointplaneY, pointplaneZ sont des points que je choisis moi en fonction de où je veux que ce trouve le plan.
Mais je n'arrive pas à comprendre
Il faut calculer le point d'intersection entre le rayon et le plan.
L'équation du rayon est :
x(t)= d0 t+p0
y(t)= d1 t+p1
z(t)= d2 t+p2
avec (d0,d1,d2)la direction du rayon et (p0 ,p1 ,p2 ) le point origine du rayon.
Pour le plan, on a x = 0, donc :
d0 t+p0 = 0
t = -p0 / d0 si d0 est différent de 0 (sinon, on retourne MAXDOUBLE)
Si t est supérieur à epsilon, on remplace sa valeur dans les équations du rayon pour obtenir les coordonnées (x,y,z) du point d'intersection. Sinon, on retourne comme valeur pour la distance, la valeur de MAXDOUBLE.
Calcul de la normale
Dans le repère du plan, la normale au point d'intersection est le point de direction l'axe des abscisses avec pour norme 1.
merci pour votre aide et bonne journée.