Emission de particules dans un cone

cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 7 août 2005 à 14:44
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 8 août 2005 à 12:13
salut à tous
voila je suis en train de faire un effet de flamme. j'utilise des particules.
tout marche très bien si j'emmet les particules selon un axe. l'axe z par exemple.
mais j'aimerais pouvoir emettre ces particules dans n'importe quel direction
l'idéal serai que je puisse les emettres dans la direction d'un vecteur avec un certain angle d'ouverture
j'utilise rand() pour générer un nombre aléatoire.
je programme avec opengl

si qq1 sait comment faire ...
merci

1 réponse

luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
8 août 2005 à 12:13
Ben oui, ton vecteur qui donne la direction, tu lui ajoutes un vecteur
aléatoire normal a ton premier vecteur (celui qui donne la direction).

Donc tu utilise rand pour obtenir un angle aléatoire, et une longueur aléatoire, ce qui te donne ton vecteur à ajouter.

La norme du vecteur est ajouté est au maximum le rayon de ton cone d'émission.



Question maths: pour obtenir ce vecteur.

Tu obtiens l'équation de plan avec le vecteur qui donne la direction. Ca c'est immédiat.

Tu a donc 3 inconnus dans l'équation: x,y,z

Avec rand, tu trouves x et y, d'ou tu obtiens z. Ca te donne un vecteur
normal, mais de longueur quelconque, donc faut la réduire. Par exemple,
tu normes le vecteur et tu le multiplie par un nombre aléatoire entre 0
et 1.



C'est une suggestion, mais il y a d'autres possibilités.



++
0
Rejoignez-nous