Mouvement de particule avec le poids
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Mouvement de particule avec le poids



  1. #1
    invite4bcee891

    Smile Mouvement de particule avec le poids


    ------

    Bonsoir,

    Je suis en train de programmer un module de gestion de particules en C++, pour cela je suis sur une equation me permetant de calculer leur position au temps t. Pour l'instant je m'en sors bien avec une equation horaire basique :

    x(t) = VitesseInitiale * cos(Angle) * t;
    y(t) = -(9.8/2) * t^2 + ( VitesseInitiale*sin(Angle) ) * t;

    Mais j'aimerai quelque chose de plus "complet", l'intégration du poids de la particule est interressant. Si la particule est lourde, elle tombera (y(t) decroissant) dans un angle donné, si elle est légère elle tombera moins rapidement, si elle est très légère elle vole (y(t) croissant)...
    Peut etre que c'est beaucoup demandé, je ne sais pas si on peut intégrer ça dans des equations x(t) et y(t). Je me suis donc renseigné un peu partout, et cette fois je demande votre aide. Je suis en DUT informatique, et la physique je n'en fais plus ... donc bon restez simple ^^

    Merci de m'éclairer un peu sur le sujet

    -----

  2. #2
    pephy

    Re : Mouvement de particule avec le poids

    Citation Envoyé par Dont Kill Kenny Voir le message
    x(t) = VitesseInitiale * cos(Angle) * t;
    y(t) = -(9.8/2) * t^2 + ( VitesseInitiale*sin(Angle) ) * t;

    Mais j'aimerai quelque chose de plus "complet", l'intégration du poids de la particule est interressant.
    bonjour,
    le poids est déjà pris en compte dans cette équation y(t) !
    ( -1/2gt²)

  3. #3
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Merci de votre réponse
    Je me suis peut etre mal exprimé, je veut intégrer la masse de la particule. Car dans l'équation ci dessus la masse de l'objet et donc les frottements sont négligées.

  4. #4
    calculair

    Re : Mouvement de particule avec le poids

    Ton problème repond à quel objectif ?

    Les equation fondamentales sont
    Force = masse x par acceleration vectoriellemnt

    Si tu es dans l'air, les frottement sont

    F' = K Surface maitrecouple * Vitesse au carré

    K coefficient de forme et cette formule est approximative

    En fin si tu veux être ^lus precis encore, si tu cherche la trajectoire sur terre il se peut qu'il faudra introduire la rotation de la terre.


    Selon l'objectif le problème peut être relativement simple ou devenir très compliqué........

    Il faut que tu précises bien ton problème

    cordialement

  5. A voir en vidéo sur Futura
  6. #5
    invite4bcee891

    Re : Mouvement de particule avec le poids

    En fait j'essai de programmer une fonction C++ me permetant de gérer des particules comme un nuage, du sang, du feu, une pierre ... C'est un projet de jeu en 2D, il me faut donc élaborer une sorte de moteur physique.

    Il me faut trouver par une equation les coordonnées de la particule dans un repere en deux dimensions (x,y) en fonction du temps. Voila mon objectif, trouver les equations x(t) et y(t). Mais dans ces equations j'aimerai qu'on prenne en compte la masse de la particule.
    Dans les equations horaires ci dessus je n'ai pas l'intégration de la masse, les forces de frottements sont négligées.

    Pour etre plus precis, si vous jetez une pierre de masse m=5kg d'un angle de 45 degrès avec une vitesse initiale de 0.5 m.s-1, la pierre suivra une trajectoire influencé par sa masse, sa vitesse, etc etc ... Je veut retrouver les coordonnées de la pierre en posant une equation.

  7. #6
    invite9c9b9968

    Re : Mouvement de particule avec le poids

    Hello,

    Tel quel, la trajectoire ne dépendra pas de la masse de l'objet, car dans un champ de pesanteur uniforme, tous les objets tombent exactement de la même manière... Si tu veux que la masse joue un rôle, il faut faire rentrer les frottements dans le problème (car là, les frottements ne seront pas les mêmes selon la masse et la forme de l'objet, du matériau choisi, etc... Comme le dit calculair, ça peut vite devenir complexe !)


    Dit autrement, les équations que tu as données au début sont les bonnes équation pour la trajectoire d'un projectile uniquement soumis à son poids dans un champ de pesanteur uniforme, et possédant une vitesse initiale donnée selon un angle de tir donné.

  8. #7
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Merci a tous de me consacrer du temps
    Le problème est cerné : il faut faire rentrer les frottements dans les equations, mais il faut rester simple, qu'importe la forme de l'objet et autres détails, je veut juste comme parametre sa masse.

  9. #8
    invite9c9b9968

    Re : Mouvement de particule avec le poids

    Ok, supposons un frottement fluide, tu vas prendre une force de frottement , avec K coefficient de frottement. Là ta masse va jouer

  10. #9
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Euuuh je suis plus maths, en mise en équation ça donne quoi ? ^^

  11. #10
    invite9c9b9968

    Re : Mouvement de particule avec le poids

    Je te le fais après manger

  12. #11
    invite9c9b9968

    Re : Mouvement de particule avec le poids

    Hello,

    Alors on obtient





    Pfiou

    Pour cela, on part des équations suivantes (application du principe fondamental de la dynamique) :



    ce qui donne les équations différentielles suivantes, en projetant sur un système de coordonnées cartésien






    et les conditions initiales sont


  13. #12
    invite7ed8e144

    Re : Mouvement de particule avec le poids

    Um... je pense que tu t'oriente dans une mauvaise direction. Tu es ici sur un support informatique, et apparemment pour un jeu. Tu va devoir modéliser beaucoup de particules etc...
    Cette solution de calcul de trajectoire n'est pas bonne en effet, elle te demande de conserver non-seulement la position de la particule, mais également le temps depuis lequel elle a été créé, et le modèle. De plus, pour chaque particule, il te faudra refaire un calcul de position à chaque instant.

    En plus, tu semble indiquer que tu veux faire des nuages etc... donc des particules plutot légères. (c'est d'ailleurs pou ça que tu parle de frottements etc...)
    Attention, parler de frottements, ça veut dire qu'il va falloir que tu ai un moteur de détection de collisions complexe, qui prend en compte toutes les autres particules etc... C'est super compliqué de décrire une trajectoire à l'avance!!!
    De plus, étant donné que c'est un jeu, tu aura surement une intéraction avec le joueur. Si par exemple il se met à foncer dans le tas de particules? Est-ce que ton modèle de trajectoire va être modifié? Si oui, comment? Et tous les autres qui lui sont lié?!!!

    Il ne faut pas raisonner comme ça je pense.

    Voici ce que je te propose, et qui est de rigueur pour tous les moteurs de particules que je connais :
    Chaque particule est décrite par un vecteur d'état : position, vitesse, masse etc...
    Ton modèle de particule se résume au calcul de ce vecteur en fonction du vecteur au temps précédent. En gros tu considère ton processus comme une chaine de Markov.

    Par exemple, en une dimension, on peut prendre deux variables, x et v et l'évolution se fait comme suit :
    x(t+1) = x(t)+ v(t)*dt et v(t+1) = v(t) + a (avec a une constante)
    En gros ici j'ai fait un modèle d'évolution ou l'accéleration est constante.

    Il est ensuite facile d'intégrer plein de choses : si tu veux faire de la diffusion comme pour de la fumée par exemple, il te suffit de rajouter un terme aléatoire gaussien à la vitesse ou la position pour avoir une diffusion simple. (diffusion qui aurait été impossible avec une équation déterministe!)

    Voila, j'espère que ça te guide un peu. Hésite pas si tu as des questions

  14. #13
    invite9c9b9968

    Re : Mouvement de particule avec le poids

    Hello,

    Pour le mouvement brownien, s'il tient à passer par un calcul de force une petite équation de Langevin peut faire l'affaire (c'est ce que j'ai utilisé dans mes simulations d'ADN)

  15. #14
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Tout d'abord, merci beaucoup pour l'intéret que vous portez a ce topic
    Merci a Gwyddon pour la mise en equation !

    A Josszzz :
    Voici ce que je te propose, et qui est de rigueur pour tous les moteurs de particules que je connais :
    Chaque particule est décrite par un vecteur d'état : position, vitesse, masse etc...
    Ton modèle de particule se résume au calcul de ce vecteur en fonction du vecteur au temps précédent. En gros tu considère ton processus comme une chaine de Markov.
    Je t'avoue que j'ai un peu de mal a te comprendre (ça fais pas mal de temps que je ne fais plus de physique ^^)

    En gros je dois déterminer un vecteur d'état, c'est a dire un vecteur reposant sur des conditions initiales. Puis ce vecteur va évoluer en fonction du temps a partir de du vecteur a t-1.

    Par exemple, en une dimension, on peut prendre deux variables, x et v et l'évolution se fait comme suit :
    x(t+1) = x(t)+ v(t)*dt et v(t+1) = v(t) + a (avec a une constante)
    En gros ici j'ai fait un modèle d'évolution ou l'accéleration est constante.
    Que représente v ? dt c'est la dérivé de t ?

  16. #15
    invite7ed8e144

    Re : Mouvement de particule avec le poids

    Je pense que tu as compris l'essentiel, mais je réexplique pour être sur!

    Donc le vecteur d'état, c'est en fait une liste, qui va décrire l'état de ta particule. C'est une variable qui va stocker tous les paramètres nécessaires à la représentation de ta particule, et à son déplacement.

    Par exemple, on peut imaginer une particule qui ne sera déterminé que par sa position, et qui évolue en 1 dimension:

    Dans ce cas, une seule variable est nécessaire : x.
    - > Une application de ça peut être une particule sans masse qui a un mouvement aléatoire. Dans ce cas, à chaque pas, on peut modifier la valeur de x telle que x(t) = x(t-1) + un nombre aléatoire.

    Après, on peut complexifier le modèle, en introduisant par exemple 2 dimensions, et une augmentation de l'ordre de notre modèle de position :
    On a alors besoin de 4 variables à stocker pour chaque particule :
    x, y et vx, vy.

    NB : En théorie, vx et vy représentent bien la dérivée de x, mais nous sommes ici dans un milieu discret, si bien qu'il nous faut conserver ces valeurs. Une autre solution aurait été de se baser, pour calculer la nouvelle position, non plus uniquement sur la position à l'étape d'avant (t-1), mais aussi sur la position à t-2.

    Dans ce cas on a les équations d'évolution suivantes (par exemple) :
    - > x(t) = x(t-1) + dt.vx(t-1) + ...
    - > y(t) = y(t-1) + dt.vy(t-1) + ...
    - > vx(t) = vx(t-1) + ...
    - > vy(t) = vy(t-1) + ...

    Tu remarquera que j'ai mis des "..." un peu partout. C'est parce que j'ai pas défini mon modèle. Si je veux faire de la diffusion, par exemple, je peux ajouter un terme aléatoire après les positions en x et en y.

    Si je veux faire un modèle ou le poids intervient, je peux par exemple écrire :
    - > vy(t) = vy(t-1) + dt.m(t-1).g
    Donc je devrai stocker en plus la masse de mon objet. Celle-ci est constante et donc évolue comme suit :
    - > m(t) = m(t-1)

    Au fait je dis que la masse est constante, mais c'est même pas obligé!!

    Donc voila ça c'est des exemple, mais tu peux construire un peu ce que tu veux.

    Tu n'a donc pas besoin de déterminer la trajectoire à l'avance (tu remarque que "t" n'apparaît nul part dans les calculs) et donc le modèle est très polyvalent. Seul apparaît dt, qui représente le temps entre 2 calculs successifs.

    En gros, d'un point de vue programmation, ta particule ça va être un objet d'une classe ou t'as des variables de classes qui correspondent au vecteur d'état que j'ai (tenté) d'expliquer.
    Ensuite tu devra écrire une fonction qui fait avancer ta particule (tu fourni un dt et ça calcule la position suivante) et surement une ou des fonctions pour gérer l'affichage (une fonction toute bête qui renvoie juste la position par exemple)

    C'est plus clair comme ça?

  17. #16
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Merci pour ces explications ! je met tout ça en oeuvre demain ! Je te tiens au courant.

  18. #17
    invite4bcee891

    Re : Mouvement de particule avec le poids

    Bonjour,

    Bon je t'avoue que j'ai encore un peu de mal, ça n'a jamais été mon fort la physique

    J'ai construi la classe, et défini les variables d'état (x, vx, y, vy, dt, m) puis j'ai créé une fonction qui me permet de calculer les coordonnées :

    Code:
    x=x+dt*vx;
    y=y+dt*vy;
    	
    vx=vx;
    vy=vy+ dt*m*9.8;
    Je donne au début :

    Code:
    x=0; y=0;
    vx=0; vy=1; dt=0.1; m=1;
    Et j'ai quelques soucis : la particule monte, monte ... alors qu'elle devrait tombée ! Je n'arrive pas a intégrer une vitesse initiale, ou encore un angle ...

    BREF, j'ai encore de grosse lacune là ... je sais que pour vous ça a l'air tellement évident ... mais pour moi ça devient vite prise de tete ^^ Donc je lance un

  19. #18
    invite7ed8e144

    Re : Mouvement de particule avec le poids

    ok.
    C'est juste parce qu'il faut adapter ce que tu écris à la direction de tes axes. Dans ton cas, le y pointe probablement vers le haut. Hors g (qui, on le rappelle est un vecteur à la base) pointe vers le bas si le sol est en bas.
    Essaye juste de changer ton vy = vy + m.g.dt
    par vy = vy - m.g.dt
    Ca devrait régler ton problème!

  20. #19
    invite7ed8e144

    Re : Mouvement de particule avec le poids

    Ensuite, tu as déja intégré une vitesse initiale!
    En effet, tu donne vy = 1 au début, ce qui veut dire que ta particule commence par monter.
    Si tu mets vy = 1 et vx = 1 au début, ta particule commence avec une vitesse initiale orientée à 45° en haut à droite par exemple. Dans ce cas, et si tu as fait les modifs que je t'ai indiqué pour vy, tu devrais avoir une jolie parabole.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/03/2008, 18h51
  2. Détermination du mouvement d'une particule
    Par invite0d8dc1fd dans le forum Physique
    Réponses: 2
    Dernier message: 02/03/2008, 04h40
  3. Réponses: 3
    Dernier message: 25/08/2006, 12h09
  4. [Expérience] Rayonnement d'une particule en mouvement
    Par invite9c9b9968 dans le forum Physique
    Réponses: 8
    Dernier message: 05/07/2006, 22h15
  5. mouvement d'une particule chargé dans un champ uniforme
    Par invitec913303f dans le forum Physique
    Réponses: 8
    Dernier message: 22/09/2005, 16h29