Hogyan számolom ki, hogy egy leejtett labda milyen magasra és milyen sebességgel pattan vissza a talajtól?
Programozás feladat, hogy animáljuk egy leejtett labda pattogását, fizika részében kérném segítségeteket, mert nem értem milyen erővel milyen magasra pattan vissza, mekkora sebességgel.
A feladat egyébként azt is célul tűzi, hogy "a becsapódási energiaveszteség legyen %-ban megadható"! Ezek után az s-t, v-t és a-t diagramokat is ki kell rajzolni. Ez utóbbi menni fog, csak arra lennék kíváncsi, hogy mégis hogyan számolom akkor ki a visszapattanás pillanatában lévő paramétereket.
Nyilván azt is figyelembe kell venni, hogy mennyit mozdul el az x tengely irányába, ebben is kérném segítségeteket!
MEGVAN!
Ez alapján már rájöttem hogyan kell a labdát meganimálni, mert tudom, hogy hol lesz a középpontja: [link]
De akkor ezek a képletek alapján, hogyan jövök rá arra, hogy mekkora a labda sebessége és gyorsulása t idő alatt? Az út megtétele az i futóváltozó értékének alapján kiszámolható, de a másik kettő?
Nem tudom hol jársz most benne, leírok pár ötletet ami most eszembe jut.
Tehát h magasságból indítod a labdát. Ekkor a potenciális energiája E_p=m*g*h ahol m a labda tömege, g a gravitációs gyorsulás. Itt 0 a sebessége, a kinetikus energiája E_k=1/2 *m*v^2 azaz 0 a a kezdeti pillanatban. A teljes energia E=E_p + E_k. Ahogy a potenciális energiáját veszíti úgy fog kinetikus energiává alakulni, valamint amikor a talajjal ütközik z(t)=0 pillanatban a teljes energia veszít valahány százalékot az összegéből (egyébként ekkor csak E_k van és E_p teljesen 0). Az impulzus megmaradás a következőképpen írható fel I_előtte * Energiaveszteség = I_utána. Az impulzus m*v_előtte és m*v_utána.
z(t)=0 pillanatban tehát v_előtte * veszteség = v_utána.
A ferde hajításos ötlet jó hiszen ha valamelyik irányba van kezdősebesség akkor lényegében ,,pattogó ferdehajítás" lesz a probléma.
Ehhez kapcsolodóan tehát x és y irányba van v_x és v_y sebesség, valamint v_z(t=0) pillanatban 0 de ez majd nő hiszen van g ami nőveli v_z. v_z=g*t mindaddig amíg z(t1)=0 -> talajt ér t1 időpillanatban. Én ezt egy if -el vizsgálnam, if(z==0) akkor {v_z = -v_z*veszteseg}. v_x és v_y csak valamilyen kezdeti sebességek azok is csökkenhetnek pattanáskor tehát if(z==0){v_x=v_x*veszteseg1, v_y=v_y*veszteseg2} de ezt nem feltétlen kell szerintem.
A labda helyzetét tehát írja le x,y,z ekkor x=v_x*t és y=v_y*t írjná le. Továbbá z(t=0)kor legyen h. A kinetikus energiákban szereplő v az pedig v=gyök(v_x^2+v_y^2+v_z^2).
Amit leírtam nem biztos, hogy mindenre szükséged lesz, de a fizika nyelvén én valahogy így írnám le a paramétereket. Ha nem megy ezek alapján szívesen segítek. Egyszer én is programoztam ilyesmit processingben.
A második linkeden vannak jó dolgok, de az a feladat kicsit másról szól, szóval másra helyezi a hangsúlyt.
Amit #4 írt, abban van sok jó, de van benne sok hamis is, inkább ne használd.
- A vízszintes sebesség állandó:
x(t) = v₀·t
Ez a t lehet az egyik futóváltozód, 0-ról a végtelenig (illetve amíg le nem megy a kepernyőről)
- A függőleges mozgást bontsd szakaszokra:
- - lefelé esés
- - visszapattanás (ez mondjuk 0 idő, ha nem kell vastag labdát rajzolnod. Ha kell, akkor bonyolultabb.)
- - felfelé menetel
- - aztán újra lefelé esés, stb.
1) Lefelé esés:
h₀ magasságban vagy induláskor (ez mindegyik menetben csökken, arról később), az y koordináta ez lesz:
y(t) = h₀ - g/2·t²
Ez a t nem pont ugyanaz, mint az előző, ez minden szakasznál újraindul 0-ról és eddig megy:
Δt = √(2h₀/g)
Persze kerekíteni kell majd egészre, vagy az utolsó késleltetés hosszát módosítod, ilyesmi.
Ugye az tiszta, hogy az x koordináta az lesz, amit x(t)-vel kiszámolsz, és az abban lévő t nem ugyanaz, mint ez a t.
2) Visszapattanás:
Itt jön be az energiaveszteség: Előtte m·g·h₀ (ahol h₀ a pont megelőző esés magassága), utána ennek az (1-VESZT)-szerese, ahol VESZT a százalék századrésze.
Ezzel az energiával ki kell számolni a visszapattanás felfelé irányú kezdősebességét:
1/2·m·v₁² = m·g·h₀·(1-VESZT)
ebből:
v₁ = √(2·g·h₀·(1-VESZT))
Érdemes kiszámolni az új h₀ értékét is, hogy meddig megy felfelé a labda:
újh₀ = h₀·(1-VESZT)
És érdemes kiszámolni az új időt is, amíg felfelé fog menni:
újΔt = √(2újh₀/g)
3) Felfelé menet:
Ez előbb kiszámolt adatokkal megy a ciklus, az y koordináta ennyi lesz:
y(t) = g/2·t²
Itt is a t ciklusváltozó 0-tól újΔt-ig megy.
A végén éppen újh₀ magasságban kell legyél, de persze a kerekítések miatt picit lehetsz máshol, szerintem nem fog látszódni.
Aztán jőn megint az 1), most már az új h₀ értékkel.
---
Ha kerek labdát kell rajznolni (de nem kell a benyomódást is visszapattanáskor), akkor szerintem azt csináld, hogy a labda alja van kezdetben h₀ magasságnál, és az 1) végén az lesz nullán. Szóval az y(t) pozíció a labda alja.
Most látom, hogy bár kérdezted, de v₁-re nincs is szükség. Szóval ez a kettő nem kell:
1/2·m·v₁² = m·g·h₀·(1-VESZT)
v₁ = √(2·g·h₀·(1-VESZT))
Jaj de hülye vagyok... Szükség van rá, mert utána az y(t) kiszámolásnal kihagytam egy fontos részt...
Szóval a 3)-ban ez kell a helyett, amit írtam:
y(t) = v₁·t - g/2·t²
Bocs, nagyon elemi hibát vétettem...
Elég zavarosak az eddigi válaszok, gyakran pedig el is térnek a lényegtől.
A mozgás két részből áll. Első rész: leejtés, azaz zérus kezdősebességgel függőlegesen hajítás lefelé.
A koordinátarendszer x tengelyének kezdőpontját a talajhoz választjuk, a pozitív x-ek felfelé vannak. Ha H magasságból ejtünk, akkor a pályát leíró függvény:
x(t)=H-(g/2)*t^2. A sebességfüggvény pedig:
v(t)=g*t.
A becsapódási energiaveszteséget jelölje 0<f<1 szorzó. (Fizikában jártasabbaknak megemlítem, hogy ez most nem az ütközési szám).
Kezdetben a helyzeti energia E_0=m*g*H, a mozgás második részében visszapattanás után pedig E_1=m*g*H_1, ahol nyílván H_1<H.
Konkrétan f-et most úgy definiáljuk, hogy legyen f:=E_1/E_0. Ebből következik, hogy
f=H_1/H_0.
Sőt méréstechnikailag is igazolható, hogy a visszapattanási magasságok mértani sorozatot alkotnak, ezért minden i=0,1,2,...-ra:
f=H_(i+1)/H_i.
Most zavarodtam meg igazán :)
Pattogó labdát kell neked rajzolnod? Az a gyanúm, hogy nem is azt, és nincs is vízszintes sebesség-komponens, az x tengely az idő, nem pedig az x koordináta.
Szóval a labda valószínű csak függőlegesen pattog, és ebből az y(t), v(t) és a(t) függvényeket kell grafikonon ábrázolnod, ahol a víszintes tengely a t. Igaz?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!