Kezdőoldal » Tudományok » Természettudományok » Fizika feladat segítség?

Resiek77 kérdése:

Fizika feladat segítség?

Figyelt kérdés

Nem vagyok fizika szakos és nem vagytok túl jó a fizikában. Azt szeretném tudni, hogy az alábbi feladatban mit kellene számolni, hogyan (milyen képletekkel) és milyen sorrendben. Annyit sikerült kiokoskodnom, hogy az F=m*g, illetve az F= m* (dv / dt) képletekre szükség van (valószínűleg)


Adottak a Newton-i térben gömbszerű testek. Minden testnek van sugara,

súlya, valamint kezdősebessége. A feladat a testek mozgásának szimulálá-

sa. Ezt úgy kell elvégezni, hogy adott pillanatban kiszámoljuk az egyes

testekre ható erők eredőjét, majd az adott test mozgását egy dt időin-

tervallumban ezzel az állandó erőhatással számoljuk ki. Miután az összes

testnek meghatároztuk az új pozícióját, újra kiszámoljuk az eredő erő-

ket, majd a következő dt időintervallumban az új erőkkel számolunk moz-

gást, stb. A szimuláció adott ideig, vagy két test ütközéséig zajlik.

Ismertek: a dt időintervallum, a szimuláció hossza, a testek száma, és az

egyes testek súlya, átmérője, kezdeti pozíciója és kezdősebessége. A kérdés:

az összes test aktuális helyzete (pozíció és sebesség) a szimulá-

ció végén


2014. ápr. 27. 20:23
 1/3 2xSü ***** válasza:

> F=m*g


Itt a Föld felszínén ez így van, de a g nem egy univerzális konstans.


Két test között ható gravitációs erőt így lehet kiszámolni:


F = G * m1 * m2 / r^2

Ahol G a gravitációs állandó: G = 6,67428 * 10^(-11) m^3/(kg*s^2)

Az m1 és m2 a két test tömege.

Az r meg a két test távolsága.


Az erő meg ugye arányos a gyorsulással: F = m*a


A testek átmérője első körben nem nagyon számít. Minden testnek van ugye tömegközéppontja. A test köré írható gömbön kívülről nézve helyettesíthető a test tömegközéppontjába helyezett pontszerű testtel. Így első körben az átmérőnek csak vizualizációs jelentősége van, hogy mekkora kört rajzolsz a képernyőre. Második körben, ha már az erőket, sebességeket, gyorsulásokat már szimuláltad, akkor lehet kezelni az ütközéseket. Mondjuk ugye van két tested r1 és r2 sugárral. Ha a két test r1+r2-nél közelebb kerül egymáshoz, akkor összeütköztek. Ebben az esetben helyettesítheted egyetlen gömbbel, aminek m1+m2 a tömege, a sugara meg ugye a két test térfogatának összegéből kiszámolható. A gömb tértfogata ugye 4*R^3*pi / 3. Tehát a két gömb térfogatának összege lesz az új gömb térfogata:

V = V1 + V2

4 * R^3 * pi / 3 = 4 * r1^3 * pi / 3 + 4 * r1^3 * pi / 3

Szorozzuk meg az egészet 3 / (4*pi) -vel:

R^3 = r1^3 + r2^3

R = köbgyök( r1^3 + r2^3 )

Ez lesz az új gömb sugara. A tömege ugye m1+m2. A sebessége meg a lendületek összegéből számolható. Az új gömb lendülete megegyezik a két régi test lendületének összegével:

p = m*v

m*v = m1*v1 + m2*v2

(Ahol v itt most vektormennyiség, ha számítógéppel szimulálod ugye, akkor külön külön elvégzendő a sebesség x és y irányú komponensére.)


Az új test tömegközéppontja a tömegük arányától függ. Mondjuk kiválasztod az egyik testet, akkor az új tömegközéppont itt lesz: x = x1 + (x2-x1) * m2 / (m1+m2) illetve y = y1 + (y2-y1) * m2 / (m1+m2)


~ ~ ~ ~ ~ ~ ~


Összességében tehát számítógéppel szimulálva minden testről tárolod a következő adatokat:

m (tömeg)

r (sugár) vagy d (átmérő) (Ha átmérőt tárolsz, akkor értelemszerűen változik pár képlet)

vx, vy (sebesség x és y irányú komponense)

x,y (a test koordinátája)


Oké, minden ciklusban:

1. Végigmész az összes testen egy ciklussal. Minden test esetén:

1.1. Két változóban – mondjuk Fx és Fy – tárolni fogod a testre ható eredő erőt. Ezt most nullázod. Végigmész az összes testen, ami nem a kiválasztott test, és kiszámolod a távolságukat (Pitagorasz-tétellel). Kiszámolod a közöttük ható gravitációs erőt. Majd ennek az erőnek veszed az x és y irányú komponensét (trigonometrikus függvényekkel), és ezt hozzáadod a testre ható eredő erőkhöz.

1.2. Ha kiszámoltad az eredő erőt, akkor abból kijön a test gyorsulása: ax = Fx/m, illetve ay = Fy/m

1.3. A test sebességét növeled ennek az értéknek az időarányos szorzatával. Ugye a = (v-u ) / dt, így v = u + a/dt. Hogy dt mekkora, az a programban konstans, ez a szimulációd időfelbontása. Minél kisebb, annál jobban közelít a szimulációd a valósághoz, bár ugye magának a feladatnak van némi kaotikus jellege, de alapvetően mégis ez a helyzet. Viszont minél kisebb ez a programban konstans dt, annál több lépés kell egy adott időtartam szimulálásához.

2. Ha ez megvan, akkor mozgatod a testeket. Végigmész az összes testen és a s = v*dt képlettel kiszámolod az elmozdulás x és y irányú komponensét, amit hozzáadsz a pozícióhoz.

3. Bónusz lépés. Végigmész minden testen, és kiszámolod a többi testen végigmenve a kettő közötti távolságot. Ha az kisebb, mint r1+r2, akkor helyettesíted egy közös testtel. Fent leírtam, hogy hogy tudod ennek a tömegét, sebességét, koordinátáit kiszámolni.


Máshogy is lehet pl. erőt számolni. Kiszámolhatod minden test esetén a több test tömegközéppontját, és ahhoz mérten számítasz gravitációs erőt, és abban az irányban határozod meg az x és y irányú komponenst. Ez kissé bonyolultabbnak tűnhet elsőre, de amúgy hatékonyabb lenne az algoritmus, csak egyszer kellene trigonometrikus függvényekkel számolni.

2014. ápr. 28. 10:25
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
Ha pedig 3 vagy annál több tested van, és nincs egy csillagnak nevezhető a többinél jóval nehezebb köztük, akkor rövid szitkozódás után tapasztalni fogod, hogy kaotikus rendszered van, ha sokáig szimulálsz, nem sok érdemit fogsz tudni mondani a testek helyzetéről, mert a kezdeti feltételek minimális megváltoztatásával is teljesen más lesz az eredmény, tehát a kérdés ilyen esetben nem válaszolható meg.
2014. ápr. 28. 23:30
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszi.
2014. máj. 1. 12:44

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!