Következő lapNext Page Arrow

Fizlab (MyPhysicsLab.hu)

Kétdimenziós rugómozgás

This page is part of the website prepared by Sándor Nagy with kind permission from Erik Neumann as a translation to Hungarian of his original site MyPhysicsLab—Physics Simulation with Java.

Ez a szimuláció egyetlen tömeget mutat (kör), mely egy rugó közbeiktatásával lóg a mennyezet egy pontjáról (a négyzet alsó oldalközepe). A tömeg két dimenzióban (vízszintesen és függőlegesen) képes mozogni; mozgását a gravitáció is befolyásolja. Vajon összevissza mozog? Figyeljük egy ideig a grafikont, és látni fogjuk, hogy a mozgás egy bonyolult (de szép) mintázatot követ.
A szimuláció változtatható paraméterei a tömeg, a rugómerevség, a rugóhossz és a súrlódás (csillapítás). A tömeg (és a mennyezet) helyzetét az egérrel lehet megváltoztatni. Ha a rugó éppen rövidebb, mint a beállított nyugalmi hossz, akkor a színe piros, egyébként pedig zöld. A Statikus állapot gomb stabil egyensúlyi helyzetet állít be: a tömeg függőlegesen lóg rezdületlenül, és a rugó csak annyira van megnyúlva, hogy a rugóerő egyensúlyt tartson a gravitációval. A nyugalomból az egérrel (vagy bizonyos paraméterek megváltoztatásával) hozhatjuk ki a rendszert. (Ha az oldalt újra letöltjük, akkor természetesen minden az eredeti módon kezdődik újra, mint mindig.)
Ha nem jön elő a szimuláció, akkor érdemes elolvasni a Java engedélyezéséről szóló instrukciókat. A kapcsolatos fizikát és matekot lásd lentebb.


A 2-dimenziós rugó fizikája


2-dimensional spring variables
Rugóváltozók 2D-ben
Tekintsünk egy rögzített (de az egérrel elmozdítható) felfüggesztési pontot, melyről egy tömeg nélküli rugó lóg, másik végén egy tömeggel. Az egész rugó–tömeg páros két dimenzióban képes nyúlni–lengeni. Tekintsük a tömeget pontszerűnek. Definiáljuk a következő változókat: Definiáljunk néhány állandót is:
i & j unit vectors
i & j egységvektorok
Jegyezzük meg, hogy ebben a szimulációban a függőleges helyzet(koordináta) lefelé növekszik. Szükségünk lesz a szokásos i, j egységvektorokra is. A vektorokat félkövér betűk jelölik felülvonással.
A tömegre három erővektor hat: Az erőket összeadva és Newton második törvényét alkalmazva ezt kapjuk: m a = Fgravitáció + Frugó + Fcsillapítás m (ax i + ay j) = m g jk S (sin θ i + cos θ j)b (vx i + vy j) Az utolsó egyenlet helyett két szimultán egyenletet is írhatunk, melyek egyike a vizszintes, a másik pedig a függőleges összetevőkre vonatkozik. Osszuk el a kapott egyenletek mindkét oldalát az m tömeggel.
ax = − km S sin θbm vx (1a)
ay = gkm S cos θbm vy (1b)
Ezek lennének a mozgásegyenletek. Már csak azt kell megmutatni, hogy S sin θ és S cos θ a tömeg helyzetének függvénye. A rugó S megnyúlását az aktuális hossz és a nyugalmi hossz különbsége adja.
   S = LR (2)
A rugó L hosszát a Pitagorasz-tétel segítségével számíthatjuk ki a tömeg u, valamint a felfüggesztési pont T helyzetéből.
   L = \sqrt{(u_x - T_x)^2 + (u_y - T_y)^2} (3)
A θ szög szinusza és koszinusza:
   sin θ = (uxTx)/L (4a)
   cos θ = (uyTy)/L (4b)

A 2-dimenziós rugó mozgásegyenleteinek numerikus megoldása

A szimuláció működtetéséhez numerikusan oldjuk meg a mozgásegyenleteket. Ehhez a Runge–Kutta-módszert fogjuk használni. Ez olyan közönséges differenciálegyenlet-rendszerekre alkalmazható, melyek elsőrendű differenciálegyenletekből állnak. Ezért az (1) másodrendű egyenleteket a következő elsőrendű egyenletekké alakítjuk át. ux' = vx uy' = vy vx' = − km S sin θbm vx vy' = gkm S cos θbm vy Ne feledjük, hogy S sin θ és S cos θ a tömeg ux, uy helykoordinátáinak függvényei, ahogy azt a (2-4) egyenlet mutatja.


Látogatószám 2013.02.27. óta:

webcounter.com