calcul d'acceleration

calcul d'acceleration - Algo - Programmation

Marsh Posté le 25-02-2008 à 23:55:28    

Bonjour,
 
J'aimerai calculer l'acceleration instantanee d'un objet 3D. Je dispose uniquement comme information de sa position (un vecteur x,y,z) a un temps donne (la frame actuelle)
Je ne sais pas si l'acceleration est constante (il n'y a pas de raison pour que ca soit le cas), ma question est donc puis-je utiliser une formule du genre :
a = 2d/t^2 avec d la distance parcouru entre deux frame et t le temps ecoule entre deux frame ?
ou dois-je forcement calculer la vitesse v1 et v2 sur les frame a t1 et t2 pour faire un a = (v2 - v1) / (t2 - t1) ?
ou faire autrement ?
 
je sais que cette question n'est pas directement liee a la prog c++, mais bon j'implemente ca en c++ sur des objets 3D en opengl donc ca reste a peu pres dans le cadre du sous-forum :) (et je n'ai pas trouve de sous-forum plus aproprie :o)
merci d'avance pour vos reponses.

Reply

Marsh Posté le 25-02-2008 à 23:55:28   

Reply

Marsh Posté le 26-02-2008 à 00:07:41    

Je me suis permis de déplacer dans "Algo", ça me semble plus indiqué pour ce genre de question. [:dawa]

Reply

Marsh Posté le 26-02-2008 à 00:09:15    

pas de problemes, merci a toi :)

Reply

Marsh Posté le 26-02-2008 à 11:55:27    

Rapidement, je dirais d'utiliser la formule d'alambert pour le calcul approché d'une dérivée seconde, soit :
 
http://serge.mehl.free.fr/anx/anx_gif/calcul3.gif
 
Bien sûr cela t'impose de connaître trois points...


Message édité par Chris-31 le 26-02-2008 à 11:55:52
Reply

Marsh Posté le 08-04-2008 à 12:09:01    

Si chaqu'une de tes frames se suivent avec un temps parfaitement constant.
 
tu peux en déduire très facilement la vitesse de ton objet : vitesse[t] = position[t] - vitesse[t-1];
 
et de la même manière son accélération : acceleration[t] = vitesse[t] - vitesse[t-1];
 
Pas besoin de calcul complexe ;)
 
 

Reply

Marsh Posté le 08-04-2008 à 14:21:41    

http://fr.wikipedia.org/wiki/M%C3% [...] unge-Kutta
c'est pas plus stable numériquement ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed