IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Physique Discussion :

Chocs en rotation


Sujet :

Physique

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut Chocs en rotation
    Bonjour tout le monde.

    Je cherche actuellement a comprendre comment fonctionnent les moteurs physiques. Cela m'a permis de comprendre la gestion des collisions, mais seulement une partie de leur consequences :

    Cas des objets ponctuels :

    Dans ce cas, c'est "facile", on projette le vecteur vitesse des deux objets sur la normale au plan de collision, et on applique la conversion de la quantité de mouvement pour determiner les composantes normales des vitesses des deux objets.

    Si on veux aller plus loins, on peut aussi traiter la composante non-normale des vecteurs vitesse grace aux proprietées de surface des elements (frootements solides, fluides, etc . . .).

    Cas des objets non pontuels.

    La ca devient plus compliqué, et je bloque.

    Un objet non ponctuel peut avoir un mouvement decris de cette facon : un deplacement en translation du centre de masse, et un rotation autour de celui-ci.

    pour ceux que ca interesse : http://www.limsi.fr/Individu/jacquem...-reponse5.html

    Deux paramettre de l'objet sont important :

    Sa masse.
    Son moment d'inertie.

    Et la j'ai un probleme physique. Comment detreminer la nouvelle vitesse et la nouvelle rotation, sachant que si la masse reste inchangée, le moment d'inertie le peux, lui, si on modifie l'axe de rotation.

    Voici ou j'en suis de mes recherches :
    Il faut travailler avec le moment cinetique, pour ceux qui ne connaissent aps :
    http://fr.wikipedia.org/wiki/Moment_cin%C3%A9tique

    Il y aura bien sur conservation des moment cinetique et de la quantité de mouvement. Des transferts de ces deux grandeurs sont d'actualite dans les deux sens, et cela va dependre :
    1/ Des caracteristique des objets :
    -masses des deux objets.
    -moment d'inertie initial et final.
    2/ Des mouvements des objets :
    -vitesses initialles.
    -rotation initialle.
    3/ Des proprietes du choc :
    -Plan de choc.
    -Point de contact.

    Malgré tout ca, je n'arrive pas a mettre les equations sur pied :S . . .

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    J'ai avancé, toujours de mon cote car aps de sources :

    Il faut projeter le vecteur rotation dans le plan, c'est ce projeté qui nous interesse. L'autre vecteur, celui qui est normal au plan, reste inchangé, sauf propritées de surface.

    Il y a ensuite echange des quantité de mouvements et de moment cinetique, mais la ca reste obscur . . .

  3. #3
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Dans mon moteur j'utilise des impulsions. C'est une petite force que je place au point de collision sur les deux objets.
    Mais j'ai des problèmes à trouver la formule.
    Je ne dois pas être trop loin de quelque chose de bien car ça fonctionne presque :
    Vc - vitesse de collision (c'est la différence des vitesses des 2 objets au point de collision)
    N - vecteur normal au plan de collision
    Me - masse équivalante (produit des masses divisé par somme des masses des objets en collision)
    Vcn - projection de Vc su N
    alors je construit mes impulsions de la manière suivante :
    I = 2 * Me * Vcn * N
    j'applique I à un des objet au point de collision et -I sur l'autre.
    L'intégration du torseur dynamique fais le reste à ma place...
    Mon alog fonctionne parfaitement avec des balles. Mais quand je l'applique à des objets qui ont des formes quelconque, il arrive parfoit que mes valeur de I explose et mes objets sont repoussé violement.
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Ta valeur de I a un probleme de calcul. En effet, tu ne tiens pas compte de la rotation de ton objet, ce qui n'est pas grave sur une balle a symetrie spherique, mais peut poser de sacrés problemes avec des formes quelquonques.

    Tout d'abors, appelons la J, car est est utilisé pour exprimer le tenseur d'inertie habituellement.

    Tu pourra trouver comment calculet ce J ici : http://www.euclideanspace.com/physic...reed/index.htm, oui c'est une formule de bourrin, et c'est avec des vecteur rotation, il faut donc adapter le tout avec des quaternions. Une chose que l'auteur oublie d'expliquer : Vai et Vbi sont les vitesses des points de collision le l'objet a et b projeté sur n, via un produit scalaire.

    Pour le calcul des deplacements sans collisions, il faut tenir compte d'un piege. En effet, quand un objet tourne, sa matrice d'inertie se modifie, ce n'est donc pas une constante.

    on obtient :
    T = [i]*dw/dt + d[i]/dt*w

    Attention a ne aps oublier ce dernier terme, sinon pas d'effet gyroscopique !

    Mon probleme actuel est de mettre sur pied une expression simple de d[i]/dt*w, en fonction de w, mais c'est pas bien simple. Qui plus est, ma ti92 viens de me lacher, elle a plus de pile, je suis obligé de faire du calcul matriciel a la main

  5. #5
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Merci pour le lien il va surement me servir. Pour l'instant la formule que je t'avais donnée, je l'avais trouvé de manière empirique après des tonnes de tests ^^ comme je n'avais pas internet chez moi quand j'ai commencé mon moteur...
    Par contre pour ce qui est de la matrice d'inertie. Le terme en d([i])/dt c'est s'il y a modification de la position de la masse de ton objet au cours du temps.
    L'effet gyroscopique est assuré lui par les termes qui ne sont pas sur la diagonale de la matrice, ça n'a rien à voir. Tu peux avoir de l'effet gyroscopique sans que ta matrice d'inertie change dans le temps.
    La pluspart du temps et dans quasiment tous les moteurs physiques on suppose que la matrice d'inertir est constante (ou change de manière quasi statique donc le terme en d([I]) / dt est négligé).
    Pour en revenir au lien que tu m'a passé, si on regarde la fomule et qu'on retire les expressions de rotation, on retombe sur ma formule ^^ (avec une absorption de 0 [restitution de 1])
    Je suis trop content.
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  6. #6
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Je précise pour le coup de l'effet gyroscopique, et vous aller voir que ça n'a rien à voir avec le fait que la matrice d'inertie varie dans le temps. Tout d'abord il faut parler un peu de l'effet gyroscopique. C'est un effet dynamique qui peut fonctionner de plusieurs manières.
    Commençons par la plus simple à comprendre :
    Soit
    Sigma le moment cinétique
    Omega la vitesse de rotation
    I la matrice d'inertie
    Quand on se place au centre de gravité, on a toujours :
    Sigma = I * Omega
    Ensuite on peut remonter aux efforts en intégrant le moment cinétique (toujours au centre de gravité) pour obtenir le moment dynamique (qui est la somme des moments ..... bla bla bla, tout le monde connait)
    Regardons ce qui se passe quand on fait notre produit matriciel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            |A -D -E |   |Wx
    Sigma = |-D B -F | * |Wy
            |-E -F C |   |Wz
    Ok bon la j'espère n'avoir perdu personne.
    Si on impose à notre solide deux rotations sur deux axes perpendiculaires Wx = 0, Wy = W1, Wz = W2
    Alors on obtien pour le moment cinétique :
    Sigmax = -D * W1 - E * W2
    Sigmay = B * W1 - F * W2
    Sigmaz = -F * Wy + C * W2
    par simple produit matriciel
    On constate qu'en appliquantces deux rotations alors on obtient sur l'axe X, où il n'y a pas de rotation (Wx = 0) un coupe qui vaut -D * W1 - E * W2, et qui est lié aux rotation sur les autres axes.... C'est ça l'effet gyroscopique.
    Il se généralise en disant que si on applique deux couples perpendiculaires, alors on obtient une rotation sur l'axe qui est directement orthogonal aux axes des couples, et que si on applique deux rotations perpendiculaire, alros on obtient un couple sur l'axe qui est directement orthogoanl aux axes des rotation.

    Tu peux visualiser cet effet en prennant un objet assez long (genre un tube de dentifrice) tu le lances en l'air en le faisant tourner en même temps suivant son axe de révolution (presque révolution) et en même temps suivant un axe qui te permetterai d'échanger le haut et le bas. Regarde alors la trajectoire du capuchon, tu vas voir qu'il ne décrit pas un cercle...

    Je ne sais pas si j'ai été assez clair avec mon tube de dentifrice...
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Non, regarde, si ta matrice est constante :

    T = [I]dw/dt . Donc, si T vaut zero, l'objet n'est soumis a aucun couple, w son vecteur rotation est constant (comme [i] != 0, c'est donc dw/dt qui vaut 0). Hors ca n'est pas le cas. D'ou vient le couple mistere ? Il vient justement de la :

    T = [I]dw/dt + d[i]/dt*w

    Ici, si T vaut zero, on a quand meme variation possible de w. ceci ne vient en rien contredire le fait que ce sont les termes non diagonaux de la matrice qui vont provoquer cet changement dans le vecteur w.

    La matrice d'inertie varie bien, meme s'il n'y a pas changement de repartition des masses, car son calcul est lié aux axes du repere associé a l'objet, qui changent si l'objet tourne.

    En passant par sigma, tu consideres juste un repere dans lequel [i] est constant (un repere lié a l'objet et non a ton "monde"), donc, un repere non gallileen, et tu applique ensuite un changement de repere, et tu evite ainsi le probleme de la derivation de [i]. C'est l'astuce sous jacente a l'utilisation de ton terme sigma. C'est en fait une autre facon de calculer la meme chose, et non LA solution .

    Dernier detail, ce que tu appelle sigma, c'est un moment cinetique, donc c'est sa derivée qui donne le couple, et non sa valeur.

    En gros, tu fais :

    sigma = [i]*w

    Puis tu calcule dsigma/dt = T. Ce qui doit etre egal a [I]dw/dt + d[i]/dt*w .

    Mais tout ca ne resout pas le probleme des chocs en rotation (le lien que je t'ai passé est pas tres clair sur certains points, comme dans quel repere on calcule i, ou bien ce a quoi correspong Vai, et pas vraiment legers niveau implementation, inversion de matrice, etc . . .) . . .

    En gros ca suffit pas, il y a encore du travail.

  8. #8
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    T = [i]dw/dt . Donc, si T vaut zero, l'objet n'est soumis a aucun couple, w son vecteur rotation est constant (comme [i] != 0, c'est donc dw/dt qui vaut 0).
    Ben dans l'effet gyroscopique le couple est du à 2 rotations, ou une rotation due à 2 couples...
    Si tu ne mets pas de couple il ne peux pas y avoir de rotation mistère...
    Je ne mens pasregarde ici
    La matrice d'inertie varie bien, meme s'il n'y a pas changement de repartition des masses, car son calcul est lié aux axes du repere associé a l'objet, qui changent si l'objet tourne.
    La matrice d'inertie d'un objet est toujours définie dans le repère de l'objet, donc les axes bougent avec l'objet...
    Si tu regarde l'expression d'une matrice d'inertie elle n'est définie QUE par la massse et la répartition de cette dernière. Donc soit tu modifie la répartition de la masse, soit la matrice d'inertie ne varie pas.
    Regarde ici
    En passant par sigma, tu consideres juste un repere dans lequel [i] est constant (un repere lié a l'objet et non a ton "monde"), donc, un repere non gallileen, et tu applique ensuite un changement de repere, et tu evite ainsi le probleme de la derivation de [i]. C'est l'astuce sous jacente a l'utilisation de ton terme sigma. C'est en fait une autre facon de calculer la meme chose, et non LA solution
    Si tu fais les calculs de dynamique ailleuirs qu'au centre d'inertie tu as des termes en plus qui rentre dans ta formule, qui ne sont pas très facile à calculer.
    Tu as une histoire de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sigma(A) = J * Omega + m * Va ^ Vg
    Je crois
    et pour le moment dynamique tu as 3 termes en tous au lieux de 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Delta(A) = d(Sigma(A))/dt + AG ^ + m * Va ^ Ag
    ou un truc dans le genre, il fudrai que je regarde mes cours

    Tu vas croire que je m'acharne à te contredire, c'est pas du tout le cas...
    Mais tout ca ne resout pas le probleme des chocs en rotation (le lien que je t'ai passé est pas tres clair sur certains points, comme dans quel repere on calcule i, ou bien ce a quoi correspong Vai, et pas vraiment legers niveau implementation, inversion de matrice, etc . . .)
    je trouve qu'il est pas mal en fait ton lien, car je crois que ce que j'ai vu en premier c'est la solution à mon problème !!
    Je vais donc apporter 2 ou 3 explications à ce que j'ai cru comprendre :
    Ca c'est la formule barbare :
    |J| = (e+1) * ( Vai - Vbi ) / (1/Ma +n•([Ia]-1(n x ra)) x ra + 1/Mb +n•([Ib]-1(n x rb)) x rb)
    J : l'impulsion
    e : la restitution (c'est en faite l'inverse de ce que l'on peut appeler l'absorption)
    Ma, Mb : Masses des solides
    n : Normale à la collision
    Ia, Ib : Matrice d'inertie des solides
    ra, rb : Je vais expliquer
    ra (resp rb) est le vecteur (Position du centre de gravité de l'objet exprimé dans le repère absolu) - (Position du point de collision exprimé dans le repère absolu)
    Vai - Vbi : C'est ce que j'apelle dans mon moteur (d'autre l'apelle surement différement) la vitesse de la collision, c'est la différences des vitesses des deux solides au point de collision (le i c'est pour initiale, comprendre vitesse avant la collision)
    Les . c'est des produits scalaires et les x c'est des produits vectoriels..
    Et quand je te donnais ma formule avant, ben on se rend compte que si tu retire les termes en "n•([Ia]-1(n x ra)) x ra" (resp b) tu retombes dessus !!

    J'ai jamais écrit un post aussi long
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Pour revenir a la matrice d'inertie :

    Changer les axes de ton repere, c'est pareil de que changer la répartition des masses. Considerer un referenciel lié a l'objet non galileen et y mettre des couples d'inertie, DOIT revenir au meme que de considérer un référentiel global.

    Je peut t'assurer deux chose :
    1/ ta solution est en effet bonne
    2/ elle n'est absolument pas contradictoire avec la mienne, et doit donner les meme resultats.

    La ou tu te limte dans ton raisonnement, c'est ici : La matrice d'inertie d'un objet est toujours définie dans le repère de l'objet. En fait, ca c'est faux. Tu peut calculer ta matrice d'inertie avec le repere que tu veux, et meme s'il n'est pas orthonormé !

    Et meme si l'origine du repere n'est pas le centre de masse de l'objet. cela dit, dans les cas d'ecole, on evite bien sur de te faire patauger la dedans. Je ne comprend pas bien ce qui te fait bloquer, prenons la relation fondamentale de la dynamique :
    dp/dt = F

    deux remarques : c'est bien dp/dt, qui est souvent resumé a ma, ce qui n'est vrai que si m est constant. C'est par exemple ce pourquoi une fusée avance (elle n'est soumise a aucune force exterieure, la diminution de sa masse la fait avancer).

    La cas general est donc : ma + dm/dtv = F, qu'on resume a ma = F car le plus souvent, la masse est constante. La ou ca pose pas de problemes, c'est que la masse depend pas du systeme d'axes que tu as choisis. [i] si.

    A partir de la deux choix s'offrent a toi : tu travail dans un referentiel non galileen ou [i] est constant, ou alors tu travail dans un referentiel gallilen, mais [i] n'est plus constant, car la repartition des masses changent selon le systeme d'axes.

    Pour revenir au choc, ca me parrait pas top moumoute d'avoir a inverser deux matrices comme ca. Qui plus est, dans quel repere est calculé [i], par rapport a quel systeme d'axes (l'origine du repere est le centre de masse ici) ?

    Et la fameuse vitesse de collision, elle doit etre tangantielle, car sinon, ca n'a pas de sens. Il ya de nombreux point qui sont pas clairs, ou a retravailler dans ce doc

  10. #10
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Re
    La ou tu te limte dans ton raisonnement, c'est ici : La matrice d'inertie d'un objet est toujours définie dans le repère de l'objet. En fait, ca c'est faux. Tu peut calculer ta matrice d'inertie avec le repere que tu veux, et meme s'il n'est pas orthonormé !

    Et meme si l'origine du repere n'est pas le centre de masse de l'objet. cela dit, dans les cas d'ecole, on evite bien sur de te faire patauger la dedans.
    La matrice d'inertie exprimé dans le repère de l'objet ne varie pas au cours du temps, ça c'est sur et certain si tu n'as pas de modification de la répartition de la masse.
    Mais si tu la calcule dans un autre repère que celui de l'objet, je suis d'accord, alors, qu'elle varie dans le temps, mais c'est uniquement du au changement de repère. Pour passer de l'un à l'autre il "suffit" de faire un changement de repère (multiplication de matrice, ou de quaternions)
    En générale quand on parle de la matrice d'inertie et qu'on né précise pas on suppose qu'elle est exprimée dans le repère de l'objet.
    Mais si tu mets la matrice d'inertie dans un repère, il faut mettre le moment dynamique dans le même, donc le moment cinétique et quand tu passe de l'un à l'autre, il y a des termes à ne pas oublier (ceux dont je parlais au-dessus)
    Petit détail : si la matrice d'inertie n'est pas appliquée au centre de masse il y a un terme correctif (relation de Huygens)
    prenons la relation fondamentale de la dynamique :
    dp/dt = F

    deux remarques : c'est bien dp/dt, qui est souvent resumé a ma, ce qui n'est vrai que si m est constant. C'est par exemple ce pourquoi une fusée avance (elle n'est soumise a aucune force exterieure, la diminution de sa masse la fait avancer).


    Alors la je ne suis pas d'accord du tout. Une fusée n'avance pas parce qu'elle perd de la masse !!!!
    Mais parce qu'il y a une action extérieur justement. Si tu prends un ballon de bodruche, que tu le gonfles et que tu le lache sans le fermer, alors il s'en va, mais ce n'est pas du à une diminution de la masse, mais à une évacuation du fluide sous pression qui se trouve dans le ballon. La fusée c'est pareil !!!
    Pourquoi les mecs s'amuserai à faire cramer je ne sais pas trop combien de litre de carburant pour faire décoller Ariane ??? C'est pas pour qu'elle perde de la masse, mais bien pour créer une poussée !!!
    Dans le cas de la fusée en plus, face aux efforts en jeu, on peut considèrer que la masse obéie à une loie quasi statique, dons que son évolution est faible dans le temps et peut-être négligée...
    La cas general est donc : ma + dm/dtv = F, qu'on resume a ma = F car le plus souvent, la masse est constante. La ou ca pose pas de problemes, c'est que la masse depend pas du systeme d'axes que tu as choisis. [i] si
    Ca sert à rien de faire les calculs dans un repère qui en fait faire plus. si tu calculs tout dans le repère de l'objet, ta matrice d'inertie est constante, s'inverse bien (tu peux même stocker l'inverse comme elle est constante, tu n'es pas obligé d'inverser la matrice tout le temps), ton moment dynamique est toujours égalle à la somme des moments des forces extérieurs, si en plus tu fais tout ça au centre de gravité, alors le moment dynamique ne comporte qu'un terme qui est la dérivé du moment cinétique, qui lui aussi est sympa car c'est juste I * Omega !!!
    Ca ne sert à rien de se compliquer !!

    Pour ce qui est du lien.
    ca me parrait pas top moumoute d'avoir a inverser deux matrices comme ca.
    ben comme elle est constante dans mon cas et que je stocke l'inverse, alors je n'ai qu'un changement de repère à faire.

    Et la fameuse vitesse de collision, elle doit etre tangantielle, car sinon, ca n'a pas de sens.
    Ben pourquoi ? Imagine une boule qui est en (10, 0, 0) et se dirige suivante les x négatif avec une vitesse de (-1, 0, 0) ainsi qu'une autre qui est en (-10, 0, 0) et qui va dans l'autre sens (x positif) avec une vitesse de (1, 0, 0)(normalement elles vont se toucher en (0, 0, 0)^^)
    si on regarde la vitesse de collision, dons la vitesse au point de collision de chacun des objets, alors on a Vc = 0. Donc elle est pas forcement tangentielle, la elle est nulle.
    Ensuite si tu prends un autre cas :
    B1 en (-10, 0, 0) avec une vitesse (1, 0, 0) et B2 immobile en l'origine, elle vont se toucher, et la vitesse de collision sera (1, 0, 0) {au signe pres}. ce qui est entièrement porté par la normale à la collision !!!
    Elle peut avoir n'importe qu'elle orientation, il n'y a pas de soucis de ce coté la.
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    D'accord presque avec tout sauf :

    Citation Envoyé par Rafy Voir le message
    Alors la je ne suis pas d'accord du tout. Une fusée n'avance pas parce qu'elle perd de la masse !!!!
    Mais parce qu'il y a une action extérieur justement. Si tu prends un ballon de bodruche, que tu le gonfles et que tu le lache sans le fermer, alors il s'en va, mais ce n'est pas du à une diminution de la masse, mais à une évacuation du fluide sous pression qui se trouve dans le ballon. La fusée c'est pareil !!!
    Pourquoi les mecs s'amuserai à faire cramer je ne sais pas trop combien de litre de carburant pour faire décoller Ariane ??? C'est pas pour qu'elle perde de la masse, mais bien pour créer une poussée !!!
    Dans le cas de la fusée en plus, face aux efforts en jeu, on peut considèrer que la masse obéie à une loie quasi statique, dons que son évolution est faible dans le temps et peut-être négligée...
    Immagine que les gazs aient une masse de 0. La fusée avance toujours ?

    Pour faire bref: l'ensemble gaz+fusée n'est soumis a aucune force exterieure, donc p = cte. Comme elle n'est soumise a aucune force exterieure, p = 0.

    La fusee se met a ejecter des gaz. Pris independement, ces gaz ont un quantité de mouvement p orientée vers le bas. Comme la quantité de mouvement de l'ensemble est constante et est egale a 0, la fusée se met elle a monter.

    ta principal erreur est de croire qu'en meca, il n'y a qu'une seule solution a une probleme, en fait il y en a plein.

    Si tu considères la fusée comme un objet isolé des gazs, tu as un probleme car il te faut considérer trois objets, dont deux ayant des masses non constantes :
    1/ la fusée
    2/ la gaz ejecté
    3/ le gaz dans la fusé (qui doit etre consideré a part si on veux que la fusée ai une amsse constante).

    Le probleme est ainsi presque insoluble analytiquement. un pc bien sur n'y voit aucun probleme. Dans cette vision des choses, en effet, le gaz ejecté exerce une poussé sur la fusée et sur le gaz dans la fusee.

    Si tu n'es pas convaincu par dp/dt = F, fait un tour ici : http://fr.wikipedia.org/wiki/Quantit...re_d.27inertie

    Citation Envoyé par Rafy Voir le message
    Elle peut avoir n'importe qu'elle orientation, il n'y a pas de soucis de ce coté la.
    Si, justement il y a soucis, car la reponse normale depend de la caracteristique d'absorbsion de l'obet, alors que la reponse tangantielle depend de ses caracteristique de surface. Tu es obligé de separer.

  12. #12
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    J'adore parler avec toi c'est trop fort !! On parle longtemps et tout

    La fusee se met a ejecter des gaz. Pris independement, ces gaz ont un quantité de mouvement p orientée vers le bas. Comme la quantité de mouvement de l'ensemble est constante et est egale a 0, la fusée se met elle a monter.
    Ben si tu n'isole pas un solide c'est normal
    Si tu prends une paire de ciseau, tu prends chaque anneau des ciseaux dans une main et que tu exerces des forces opposée sur chaque anneau. Tu fais alors la RFD la dessus, sommes des forces = 0 (les deux forces sont opposées !) mais pourtant on arrive à ouvrir la paire de ciseau ??? Etrange ??? Ben non, la paire de ciseau n'est pas un solide !!! Il faut prendre en compte les efforts intérieurs ou alors isolé chaque solide, donc chaque branche du ciseau...
    Pour la fusée c'est pareil ! Il ne faut pas que tu isoles l'ensemble. Mais la fusée avec son carburant, d'un côté, et les gazs qui sont extrait, d'un autre. La tu vois que la sommes des forces sur la poche de gaz extraite n'est pas nulle (si on assimile le nuage de gaz à un solide, ce qui n'est pas faux avec l'hypothèse quasi-statique, mais avec la méca flu ça se démontre aussi), il y a une sortie à la chambre de combustion, (sinon les fusée éclatent !! ) la résultante des forces sur le nuage est donc dirigée vers l'arrière de la fusée. Ensuite on isole la fusée, elle subie la force de l'action des gaz, vers le haut...

    ta principal erreur est de croire qu'en meca, il n'y a qu'une seule solution a une probleme, en fait il y en a plein
    C'est faux, il n'y a qu'une solution.... Un verre posé sur une table n'a qu'une seule façon d'être, les objets ne peuvent pas se déplacer suivant deux lois différentes en même temps...
    Ce que tu voulais peut-être dire c'est qu'il n'y a pas un seul chemin pour aller à la solution.
    Je suis d'accord avec ça...
    Je ne dis pas que ta solution n'est pas bonne (sauf pour la fusée) mais que tu ne passes pas forcement par le chemin le plus facile, je pense.

    Si tu considères la fusée comme un objet isolé des gazs, tu as un probleme car il te faut considérer trois objets, dont deux ayant des masses non constantes :
    1/ la fusée
    2/ la gaz ejecté
    3/ le gaz dans la fusé (qui doit etre consideré a part si on veux que la fusée ai une amsse constante).
    J'ai répondu en partie à ça. Hypothèse des évolutions quasi statique de la masse de la fusée (carburant compris), mais si tu n'es pas convaincu, on peut se lancer dans de la thermo, et de la méca flu pour montrer que ça marche quand même... Moi perso j'ai pas trop envie

    Si tu n'es pas convaincu par dp/dt = F
    Non ça je suis d'accord...
    Il ne faut pas oublier les moment aussi ^^
    delta = M

    Si, justement il y a soucis, car la reponse normale depend de la caracteristique d'absorbsion de l'obet, alors que la reponse tangantielle depend de ses caracteristique de surface. Tu es obligé de separer.
    Ah c'est un peu de ma faute :
    J'ai pas dis que la vitesse de collision était projetée sur la normale à la collision.
    L'impulsion qui d'écoule de la collision, est , il est vrai composée de deux composantes : normale à la collision et tangentielle.
    La composante normale, sert uniquement au "rebond", à la réaction des objets entre eux. La composante tangentielle sert aux frottements.
    La formule est donc :
    |J| = (e+1) * ( Vc * n ) / (1/Ma +n*([Ia]-1(n ^ ra)) ^ ra + 1/Mb +n*([Ib]-1(n ^ rb)) ^ rb)
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Heu, pour le ciseau, meme si c'est pas un solide :

    1/ le centre de gravité (du tout) bouge pas. C'est normal car la somme des forces appliqué au tout est nulle.
    2/ le centre de gravité de chaque ciseau peu bouger car la somme des forces appliqué a chacun des ciseau, elle n'est pas nulle.

    Ce que je voulais dire par plusieurs solution, c'est que tu a plusieurs facon de voir la meme chose. Bien sur, les resultats doivent etre identique, sinon, il y a probleme grave !

    Tu peux en effet supposer que les gazs de la fusée s'échappent lentement, auquel cas tu simplifie le problème a deux elements, mais passer par la quantité de mouvement du tout permet d'arriver au meme resultat sans approximation et de facon analytiquement plus simple. Mais au final on a la meme chose, juste en considerant des objets differents, en y applicant des theoremes différents, et en arrivant au même résultat (la fusée monte).

    Si un truc quelquonque n'est soumis a aucune force exterieure, sa quantité de mouvement reste la meme, que ce soit un solide, un liquide, un gazs, ou tout autre combinaisons des trois. La fait que ma fusée+ les gazs ne soit pas un solide ne pose aucun probleme. Au contraire, si c'etait un solide, la fusée pourrait pas aller dans le sens opposé aux gazs.

    La ballon de baudruche meme combat.

    EDIT: deuxieme question !

    Si il est vrai que passer par sigma marche sur la papier et aussi de facon analytique, comment on s'en sort dans un moteur physique ?

    dsigma/dt = T avec sigma = [i]w moi je veux bien. mais comment je retrouve le nouveau w de tout ca ? c'est a dire comment j'en deduis dw/dt dans passer par ma methode (qui a c'est vrai pas le mérite d'etre light en calculs).

  14. #14
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    1/ le centre de gravité (du tout) bouge pas. C'est normal car la somme des forces appliqué au tout est nulle.
    Ben non justement il bouge !!! Prends des ciseaux et regarde, toute la paire de ciseau se déplace, dont il bouge forcement !!

    Tu peux en effet supposer que les gazs de la fusée s'échappent lentement
    Quasi statique, ça veut pas forcement dire lentement ^^ car les gaz d'une fusée sortent assez vite de la tuyère... Mais je pense que tu as compris le principe quand même...

    en y applicant des theoremes différents, et en arrivant au même résultat (la fusée monte).
    Ce que je voulais juste te faire comprendre c'est que la fusée ne monte pas par ce que sa masse change, mais parceque, il y a une poussée...


    Au fait si d'autres personnes veulent se joindre à cette conversation vous pouvez
    On ne parle que tous les deux...

    Pour ce qui est de la formule du lien que tu m'as passé, je vais l'insèrer dans mon moteur, le mois prochain, je dirai alors si c'est la formule qu'il me fallait ou pas...
    J'ai quand même l'intime convicsion que c'est la bonne. (si is ça s'écrit comme ça ^^)
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  15. #15
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Dans mon moteur, une fois que j'ai fini de calculer la résultante des forces R, et des moments (réduit au centre de gravité) M.
    Je dis que Le torseur dynamique est égale au torseur des efforts des actions extérieur.
    Delta = M et m*A = F
    puis je passe au torseu cintétique en intégrant. Comme mes calculs se font au centre de gravité j'ai pas les termes correctifs.
    int() pour intégration
    C = int(m * A)
    Sigma = int(delta)
    en suite comme j'ai C = m * V et Sigma = I * w (c'est les définitions)
    alors il me reste à diviser par les masses :
    j'obtient la vitesse du centre de gravité V = C / m
    j'obtient w = t(P) * I^-1 * P * Sigma
    La matrice P c'est la matrice de transformation du repère lié à l'objet, comme la matrice d'inertie est exprimée dans le repère de l'objet il faut bien faire ça.
    et voila...
    Avec
    R : Somme des forces extérieures
    M : Somme des moment des forces extérieures réduit au centre de gravité
    Delta : Moment dynamique
    m : Masse de l'objet
    A : Accéleration du centre de gravité
    C : Résultante cinétique
    Sigma : Moment cinétique
    V : Vitesse du centre de gravité de l'objet
    w : Vitesse de rotation de l'objet
    I : Matrice d'inertie de l'objet dans le repère de l'objet au centre de gravité
    P : Matrice de transformation du repère de l'objet

    Pour aller plus vite dans tout ça je stocke l'inverse de la masse, l'inverse de la matrice d'inertie (je suis sur qu'elle existe car elle est symétrique réélle strictement positive)
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Arf grilled pour mon edit.

    Bon, je te le copies ici :

    Si il est vrai que passer par sigma marche sur la papier et aussi de facon analytique, comment on s'en sort dans un moteur physique ?

    dsigma/dt = T avec sigma = [i]w moi je veux bien. mais comment je retrouve le nouveau w de tout ca ? c'est a dire comment j'en deduis dw/dt dans passer par ma methode (qui a c'est vrai pas le mérite d'etre light en calculs).

    Mais pour revenir a la fusee (eternel objet de polemique :p cette fusée) aux ciseaux et compagnie :
    1/ Le ciseau ne bouge, tu as raison, mais c'est parsque les pieces entrent en rotation. La fusée n'a pas ce probleme en fonctionnement normal. Ca a buggué un moment dans ma tete, quel est la difference entre un ciseaux et une fusée ? pas evident comme question . . .
    2/ la fusee, si on la considere avec les gazs, elle ne bouge pas non plus.

    Et oui, bien sur les gazs s'echapent vite, ce que je voulais dire c'est que le volume de gazs qui s'echappe en un temps donné est suffisement faible par rapport au volume de gaz total pour qu'on puisse approximer.

    Pour la formule, si tu te place dans un repere lié a l'objet, c'est alors tous les autres vecteurs qui devront passer dans ce repere (n, r). Et comme on a deux matrices d'inertie pour deux objets, ca implique de caclculer n dans deux reperes differents, etc . . .

    Pas si simple a implementer.

  17. #17
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Si il est vrai que passer par sigma marche sur la papier et aussi de facon analytique, comment on s'en sort dans un moteur physique ?

    dsigma/dt = T avec sigma = [i]w moi je veux bien. mais comment je retrouve le nouveau w de tout ca ? c'est a dire comment j'en deduis dw/dt dans passer par ma methode (qui a c'est vrai pas le mérite d'etre light en calculs).
    Ca j'ai répondu au dessus.
    la fusee, si on la considere avec les gazs, elle ne bouge pas non plus.
    je ne vois pas trop ce que tu veux dire.

    Pour la formule, si tu te place dans un repere lié a l'objet, c'est alors tous les autres vecteurs qui devront passer dans ce repere (n, r). Et comme on a deux matrices d'inertie pour deux objets, ca implique de caclculer n dans deux reperes differents, etc . . .

    Pas si simple a implementer.
    ben mon moteur me donne lors de la collision le n déjà dans le repère absolu, il ne restera qu'a calculer les deux r, je ferrai plutôt passer les matrices d'inerties dans le repère absolu, je pense... Enfin on verra...
    Je suis assez optimiste quand même. Si la formule est bonne alors (Dédicace à rolkA) "Ca devrai marcher"
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

  18. #18
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Le truc, c'est que si tu passe les matrices d'inertie dans le repere absolues, elles ne seront plus constantes. Et puis, tu devra en recalculer l'inverse.

  19. #19
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Bingo !!!!!!!!!

    Soit deux referenciels : R en rotation dans R' avec un vecteur rotation w.
    Soit un vecteur V constant dans R. Sa derivée dans R' est w^V. ou ^ est le produit vectoriel.

    Tout fier de notre truc, supposont que R' soit galillen, et R le referenciel lié a notre objet. Nous voulons avoir les Loies dans R car sinon on est embeté pour deriver et inverser notre tenseur d'inertie I.

    Nous avons dL/dt = T dans R, mais cela ne nous interesse pas trop, nous allons essayer de trouver ca dans R'. Nous avons donc : dL/dt = T + Ti ou Ti represente un couple due au fait que nous ne somme pas dans un referenciel gallileen, mais lié a l'objet.

    Ti est en fait lié au fait que notre referenciel tourne, et donc que dL/dt n'a pas la bonne valeur. Heureusement, nous avons un outil presenté au debut pour trouver la derivée de L dans un referenciel qui tourne dans un autre. Le terme manquant est w^L .

    Dans notre cas, w^L = w^[I]w .

    D'ou [I]dw/dt = T - w^[I]w .

    et dw/dt = [I]-1(T - w^[I]w) et ce, dans la base locale

    Il faudrait que je fasse des tests pour voir si j'ai pas fait une erreur de signe dans un coin, mais normalement ca doit marcher top moumoutte.

  20. #20
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Le truc, c'est que si tu passe les matrices d'inertie dans le repere absolues, elles ne seront plus constantes. Et puis, tu devra en recalculer l'inverse.
    Ben l'inverse de la matrice d'inertie est constant car la matrice d'inertie est constante (tous ça dans le repère lié à l'objet) comme mon objet bouge, il suffit de passer l'inverse dans le repère absolu par un produit de matrice de passage...
    Première grosse démo en construction :
    http://bitbucket.org/rafy/exo2/

Discussions similaires

  1. Problème de rotation
    Par Francky033 dans le forum DirectX
    Réponses: 1
    Dernier message: 17/07/2003, 16h38
  2. Rotation de Bitmap -> ScanLine
    Par jujuesteban dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2003, 15h11
  3. Rotation d'un bouton ?
    Par ken_survivant dans le forum Composants
    Réponses: 3
    Dernier message: 01/04/2003, 18h16
  4. matrice et rotation
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 07/12/2002, 17h59
  5. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo