Bonjour à tous.
J'ai un petit probleme pour vous.
Voilà, je dispose d'un terrain constitué de point (X, Y, Z), vérifiant les propriétés suivantes:
X est un entier tel que 0<=X<=Xmax
idem pour Z (entier 0<=Z<=Zmax)
0 <= Y <= Ymax (mais pas un entier)
Je lance un rayon et j'aimerai trouver son point d'intersection.
Je suis parti selon la méthode suivante:
_ je calcule l'intersection entre mon rayon et les plans Y=Ymin et Y=Ymax
_ j'obtient une droite dont les équations sont :
X = Xmax - t*(Xmax - Xmin)
Y = Ymax - t*(Ymax - Ymin)
Z = Zmax - t*(Zmax - Zmin)
_ je pars de t=0
_ je cherche le premier point de la droite qui vérifie X entier ou Z entier
_ je calcule les coordonnées de ce points et test pour savoir s'il y a intesection avec les triangle de mon terrain
_ si non, je passe au point suivant vérifiant X entier ou Z entier.
Malheureusement, si ça m'a l'air bon sur le papier, mon code est faux ou ne donne pas le résultat espéré. Bref, j'ai besoin d'aide, soit pour me trouver une méthode plus simple, soit pour m'écrire le code (C++). Merci.
Partager