Simuler la loi de la gravitation universelle de Newton

Meziane -  
 Meziane -

bonjour, 

je cherche à simuler sur python la loi universelle de la gravitation de Newton qui dit que : 

F_a/b = G * ((mA * mB) / (d^2)) 

... mais je ne sais pas comment m'y prendre.

Mon programme actuel implique deux variables (o1 et o2) qui stockent les coordonnées deux objets et la force est notée v.

import matplotlib.pyplot as plt
from math import *
import numpy as np

g = 6.67 * 10**(-11)
d = eval(input("d: "))
ma = eval(input("mA: "))
mb = eval(input("mB: "))
inp = input("v: ")

v =  [eval(inp.split(",")[0]), eval(inp.split(",")[1])]
inp = input("O1: ")
o1 = [eval(inp.split(",")[0]), eval(inp.split(",")[1])]
inp = input("O2: ")
o2 = [eval(inp.split(",")[0]), eval(inp.split(",")[1])]

plt.plot(o1[0], o1[1], 'ro') 
plt.plot(o2[0], o2[1], 'ro')
plt.show()

2 réponses

yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 

bonjour,

quelle méthode d'approximation as-tu choisi d'utiliser?

0
Meziane
 

je ne suis pas sûr d'avoir compris la question.

0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > Meziane
 

Dans quel contexte fais-tu ce travail?

0
Meziane > yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention  
 

contexte personnel

0
mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention   7 895
 

Bonjour,

Mes cours de physiques sont loin mais là, si tes deux objets n'ont pas une vitesse initiale, ils vont juste s'attirer l'un vers l'autre (c'est peut être ce que tu veux ?). Ensuite ça me paraît très étrange de noter une force v, généralement c'est plutôt pour un vitesse et ces deux grandeurs n'ont rien à voir entre elles.

Ensuite, vue que ton graphe doit tracer la position des deux objets au cours du temps, il faut au préalable résoudre tout le modèle physique qui te permet de donner la position au cours du temps. Ce qui implique choisir un référentiel, faire le bilan des forces, résoudre les équations, etc (voir par exemple ce genre d'exercices en particulier le IV).

Donc là en l'état, on ne peut pas te répondre car tu n'as ni résolu tes équations, ni dit quel référentiel tu comptais utiliser, ni quel pas de temps de temps tu comptais utiliser.

En admettant que l'un des objets soit la Terre et le second la Lune et que leurs centres soient à la distance R, alors la lune suit dans ce modèle un cercle et en fait le tour avec la période T = 2 * pi * sqrt(R^3 / G.M_terre)

Tu peux donc facilement en déduire les coordonnées polaires de la Lune par rapport à la Terre et en déduire x_lune/terre(t) et y_lune/terre(t) :

  • x_lune/terre(t) = R * cos(2 * pi * t / T)
  • y_lune/terre(t) = R * sin(2 * pi * t / T)

En construisant deux séries de points x et y pour différentes valeurs de t, tu pourras alors déduire les coordonnées de la Lune au cours du temps.

Bonne chance

0
Meziane
 

oui le vecteur V représente plutot la vitesse

0
mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention   7 895 > Meziane
 

Ben du coup ça n'a rien à voir avec une force :-) D'ailleurs, la vitesse ne sert à rien pour ce que tu veux faire (ça n'est qu'un résultat intermédiaire), la seule chose que tu as besoin de caractériser, c'est la position au cours du temps.

Est-ce que mon message précédent répond à ta question ?

0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention  
 

La vitesse initiale a beaucoup d'importance, en réalité.

0
Meziane > mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention  
 

oui je pense qu'avec les lois de Kepler je pourrais résoudre mon problème, Merci ^^

0