Page 1 sur 1

Problème avec une simulation python

Posté : sam. 24 sept. 2022 16:22
par Ayoub, Spé SPC
bonjour,

je cherche à simuler sur python la loi de newton qui dit que:

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

mais je ne sais pas comment m'y prendre

dans mon programme il y a également un vecteur V dont les cordonnés sont stoqués dans une liste v et deux objets o1 et o2 qui contiennent des cordonnés, je compte simuler la trajectoire de o1 autours de o2 grâce au module matplotlib, il faut aussi que o1 subisse la force v.

Code : Tout sélectionner

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()

Re: Problème avec une simulation python

Posté : sam. 24 sept. 2022 17:45
par SoS(3)
Bonjour,
pouvez vous envoyer le sujet exact de l'exercice ? merci .

Re: Problème avec une simulation python

Posté : lun. 3 oct. 2022 21:16
par SoS(53)
Bonsoir,
Par rapport à votre programme, je pense qu'il faut éviter d'utiliser la fonction eval (tout comme exec d'ailleurs).
En effet, ces fonctions sont dangereuses pour l'ordinateur lui-même (l'utilisateur pourrait ainsi formater le disque dur)

Il vaut mieux utiliser la fonction print pour demander à l'utilisateur de taper une variable avec ensuite la fonction input.
exemple:
print("taper la valeur de d")
d = float(input())