Mam pytanko dla fizykow. Z gory przepraszam za malo naukowy
jezyk jednak fizykiem nie jestem :) Kilka dni temu przez przypadek
zaczelem pisac programik symulujacy grawitacje. W skrocie
polega on na tym ze wrzucamy dowolna ilosc cial w przestrzen
3D ,nadajemy im masy oraz wspolrzedne a co za tym idzie
odleglosci pomiedzy nimi. Wszystko ladnie dziala ale... wlasnie
male "ale", nienasycony tym co udalo mi sie napisac zaczelem
symulowac wzajemne oddzialywanie duzych cial np slonca i ziemi,
wpisalem ich masy, odleglosc, nadalem ziemi predkosc tak ze utrzymuje
sie na stabilnej orbicie wokol slonca.Dla zasady zajzalem tez do
wikipedii jak jest wzor na grawitacje i co prawda intuicyjnie
ulozylem b.podobny to jednak nie taki sam ,chodzi o proporcje
zmiany wektora ruchu kazdego z cial , bo przeciez wiadomo ze
masywniejsze cialo trudniej ruszyc.
moj wzor byl taki :
F = ( masa(A) * masa(B) ) / odleglosc(AB)^2
z tym ze:
wektor A zwiekszal sie o (F * masa(A)/masa(B))
wektor B zwiekszal sie o (F * masa(B)/masa(A))
a w wikipedii czytam :
F = G * ( masa(A) * masa(B) ) / odleglosc(AB)^2
gdzie :
F = sila grawitacji;
A,B = ciala;
odleglosc,wektor = bez komentarza
heh, bardzo podobnie ale co to jest te G ? na moj chlopski rozum to
w nim musi byc zawarta ta proprcja czyli wspolczynnik przez ktory
mnozymy wektory.
W wiki podany jest wzor na G (stala grawitacyjna):
G = 6.6742 * 10<sup>-21 * Nm</sup>2/kg^2
Co to jest te Nm i w ogóle jak to zaimplementowac ? najl w c++;
Intuicyjnie domyslam sie ze ta subtelna roznica we wzorach powoduje ze
u mnie wszystkie orbity wygladaja troszeczke inaczej niz mnie uczono
w szkole.
prosze o lopatologiczna odpowiedz :)
ps.
dlugo zastanawialem sie gdzie ten temat dac , i chyba tutaj najlepiej .
EDIT:
oczywiscie wiem ze to tylko NEWTON, jednak E = mc^2 wolabym na razie
sobie odpuscic.