Bonjour,
Je fais un peu de deferred shading et je cherche à calculer un volume englobant très simple autour de ma spotlight. Elle est caractérisée par un angle max d'ouverture Phi, un vecteur direction Dir, une position Pos et une portée max Range (tous dans l'espace monde).
Le volume en question n'est ni plus ni moins qu'un prisme à 5 vertices: le sommet est la source Pos, les autres (A,B,C,D) forment la base, qui englobe le disque terminal (càd l'ouverture max), dont le centre est donc E = Pos + Dir * Range.
Je cherche à calculer les coordonnées monde de A,B,C,D.
En théorie c'est simple: A,B,C,D appartiennent tous à un plan P défini par son vecteur normal Dir et sa distance d à l'origine, soit celle de E.
Ils appartiennent également à une sphere S de centre E et de rayon r que j'ai calculé.
Je veux donc trouver l'équation de l'intersection de P et de S afin de déterminer les coordonnées d'un point quelconque (ce sera A) sur le disque résultant. Il sera ensuite facile de trouver les coordonnées des trois autres.
Bref on a:
a*xA + b*yA + c*zA + d = 0 avec a,b,c,d connus.
(xE-xA)² + (yE-yA)² + (zE-zA)² = r² avec xE, yE, zE et r connus.
Et là je sèche, ça fait seulement 2 équations pour trois inconnues, faut-il prendre une valeur au pif pour xA?
Est-ce quelqu'un peu m'expliquer comment trouver ces coordonnées?
Merci d'avance.