begin process at 2012 05 28 13:14:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

Application de l'algorithme de Runge Kutta au système d'équations d'un corps rigide en mouvement(dynamique)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Application de l'algorithme de Runge Kutta au système d'équations d'un corps rigide en mouvement(dynamique)

mercredi 7 mai 2008 à 01:54:49 | Application de l'algorithme de Runge Kutta au système d'équations d'un corps rigide en mouvement(dynamique)

johnstanp

Cela fait un petit moment que je cherche à comprendre comment implémenter Runge-Kutta pour le système d'équations de Newton.
Voici le système d'équations :

dx(t)/dt = v(t)
dR(t)/dt = w(t)*R(t)
dP(t)/dt = F(t)
dL(t)/dt = T(t)

x(t) : position du centre de masse
R(t) : matrice d'orientation
P(t) : moment linéaire
L(t) : moment angulaire

v(t) : vitesse du centre de masse
w(t) : vitesse angulaire
F(t) : somme des forces appliquées sur le corps
T(t) : somme des couples générés par les forces appliquées

Les grandeurs auxilliaires se calculent comme suit:

v(t) = P(t)/M
I(t) = R(t) Ib R(t)^T
w(t) = I(t)^-1 L(t)

I(t) = tenseur d'inertie dans le repère fixe choisi
Ib = tenseur d'inertie dans le repère local
R(t)^T = transposée de la matrice d'orientation
I(t)^-1 = inverse du tenseur d'inertie exprimé dans le repère fixe

En fait , je reprends ces équations du papier de Baraff "An introduction to physically based modeling" disponible à l'adresse suivante :

[url]http://www.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf[/url]

J'ai écrit une ébauche de moteur physique utilisant la méthode d'Euler(pour sa trop grande simplicité) : il s'avère que je n'obtiens pas de résultats satisfaisants lorsque je simule freinage et virage simultanément pour un mobile...
J'aimerais donc utiliser une méthode plus précise d'où celle de Runge-Kutta d'ordre 4. Le seul problème vient du fait que dans celle-ci , on doit disposer d'une fonction dépendant explicitement du temps et des variables que l'on veut intégrer.Il s'avère que dans l'équation donnée , je ne dispose pas d'une fonction me permettant de calculer le membre de droite en fonction du temps et des variables x(t) , R(t) , P(t) et L(t) , puisque je ne connais pas à priori ce qu'elles valent aux instants t = t0 + dt/2 et t = t0 + dt.
Les seules données dont je dispose sont les forces et couples générés à l'instant t0( que je peux supposer constantes entre t0 et t0 + dt ou faire varier linéairement , exponentiellement , etc ). Il n'empêche que je ne peux calculer le membre de droite en un instant autre que l'instant t0.

Quelqu'un pourrait-il me dire comment appliquer Runge-Kutta dans ce cas-ci?
Merci pour vos réponses.


Cette discussion est classée dans : dt, t0, équations, runge, kutta


Répondre à ce message

Sujets en rapport avec ce message

runge kutta [ par catomi ] Pourriez m'aider à résoudre un système différentiel à 6 variables. || DT_WORDBREAK marche pas ???????? [ par joh ] Je ne comprend pas d'apres le msdn l'options DT_WORDBREAK permet d'éviter que les mot soit coupé en deux lors de l'impression mais sa ne marche pas .e DrawText et DT_TABSTOP [ par julienbj ] Je souhaiterais imprimer le contenu d'un richedit (jusque la pas de probleme) mais je voudrais pouvoir spécifier la taille de mes tabulations lors de Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction [ par neutrix ] Salut.. Help  Je souhaite créer un main et une fonction. Tout cela me servira ensuite en info industriel pour un microcontroleur. Le main s'occupera Variation de couleur [ par fred100582 ] Bonjour, j'aimerais représenter des résultats de simulation gaphiqument en faisant varier les couleurs de ces résultats avec une fonction du genre Cou imprimer plusieurs lignes recuperées par un dialogue ???? [ par gege1024 ] bonjour, voila, je veux imprimer plusieurs ligne (j'ai pas de fichier mais je veux imprimer des données renseignés par un dialogue) je declare donc un Imprimer du text : petit pb [ par gege1024 ] déjà posté dans la rubrique "peripherique" mais sans reponse.alors je tente mon coup ici ....resume:  je veux imprimer sur papier un texte saisi par l problème avec std::vector [ par loicus ] bonjoursj'ai un problème avec std vector, mon programme plante lorsque je suprimme des éléments du vecteur, et je ne comprend pas pourquoi...j'ai beso équation récurrence [ par gacoug32 ] bonjourje débute en language C et je cherche à résoudre sur dev-C++une équation de type: -2*T(j-1) + (C-1)*Tj + T(j+1) = -C2C et C2 sont 2 constantes Meca classique: Etude d' oscillation. [ par sidam ] Voila le probleme, je dois programmer une classe MonSystem décrivant le système que je veux faire évoluer.Voila le systeme:J' ai un point M =1kg soumi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,198 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales