Élève de Terminale S, je viens de voir en cours les équations de trajectoires. Étant également passionné de programmation, j'ai commencé à appliquer les lois de Newton dans un moteur physique en python. Pour calculer la position de mon objet en fonction du temps, j'utilise donc les équations horaires :
x = v0.norm()*math.cos(alpha)*self.t+self.pos0.x
y = -(1/2)*g.norm()*math.pow(self.t,2)+v0.norm()*math.sin(alpha)*self.t+self.pos0.y
Explications (si certains ne comprennent pas tout) :
v0.norm() donne la norme du vecteur vitesse initiale v0
g.norm() est la norme du vecteur g (9.81)
self.t est le temps (au cours de la chute)
self.pos0.x et self.pos0.y sont les positions initiales x et y de l'objet
math.pow(self.t,2) est le carré de self.t
Seulement je me retrouve face au problème suivant : lorsque mon objet tombe dans un liquide, une force de frottement s'exerce sur mon objet, mais je ne sais pas comment la traduire dans mon équation.
Imaginons que ma variable friction contient la valeur du frottement, où dois-je mettre friction dans mon équation?
Aussi, la valeur de la force de frottement dépend de l'aérodynamisme de mon objet, existe-t-il un moyen de le calculer? (cette question est optionnelle, si je n'ai pas de réponse je prendrai une valeur par défaut pour mon frottement)
Salut, avec les équations du commentaire précédent, tu dois les intégrer de manière numérique pour obtenir ta trajectoire z et x. Tu peux utiliser la méthode d'intégration d'Euler, qui est la plus simple et qui me parait assez adaptée dans ton cas. Le soucis c'est que tu as deux accélérations et si tu te renseigne un peu sur les méthodes, tu verras qu'il ne faut avoir que des dérivées premières, il faut alors introduire 2 variables supplémentaires, disons y = x' et w = z', et donc tu vas avoir un vecteur d'état de 4 inconnues :E = [x y z w]. tu peux tout mettre sous forme matricielle et tu appliques le pas : E(t+dt) = E(t) + h*F(t), ou F est la matrice 4x4 des dérivées au point E et h est ton pas de temps (10^-4, 10^-5 me parait bien)
Bonne continuation!
- Edité par JeanCharles28 31 octobre 2017 à 10:34:07
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.