32. Odbojka servis preko mreže(kosi hitac) - objašnjenje i uputstvo
Za razliku od zadatka broj 19, gde nije uzeta horizontalna komponenta u obzir, ovde se dodatno moraju odrediti obe komponente početne brzine u obzir v0X i voY na osnovu početne brzine v0 i ugla alfa. Takođe je bitno i rastojanje lopte u X pravcu u početnom trenutku od mreže. Za koordinatni početak usvojićemo tačku na zemlji ispod lopte u početnom trenutku.
|
Vrati se na početnu stranu klikom na sliku
|
Kretanje lopte zapravo predstavlja kosi hitac sa neke početne visine H0(Visina na kojoj igrač udari loptu). Pri tome igrač koji udari loptu zada joj početnu brzinu v0 čiji je vektor pod nekim uglom alfa u odnosu na horizontalni pravac. Horizontalna i vertikalna komponenta početne brzine se sada mogu odraditi.
v0X=v0*Math.cos(alfaRad);
v0Y=v0*Math.sin(alfaRad);
gde je alfaRad vrednost ugla u radijanima.
Ako posmatramo samo horizontalni pravac kretanje je ravnomerno i projekcija lopte na horizontalni pravac se kreće konstantnom brzinom
Ako posmatramo samo horizontalni pravac kretanje je ravnomerno i projekcija lopte na horizontalni pravac se kreće konstantnom brzinom
vX=v0X
Ako je poznata udaljenost mreže od igrača koji servisira xM, može se koristeći brzinu u horizontalnom pravcu v0X, odrediti vreme tM potrebno lopti da se nađe na x koordinati gde je mreža:
tM = xM/v0X |
(1)
|
Posmatraćemo kretanje lopte u vertikalnom pravcu. Lopta se sa početne visine od 1.8m kreće vertikalno naviše početnom brzinom v0(Unosi korisnik) i dostiže neku maksimalnu visinu Hmax(vidi sliku).
Hmax=H0 + dH |
(2)
|
gde je dH promena visine koju možemo odrediti pomoću formule za ravnomerno ubrzano(usporeno) kretanje u polju zemljine teže, gde je ubrzanje
g = 9,81 m/s2
Iz poznate formule za ravnomerno ubrzano kretanje
s = v0*t - a*t2 / 2
i ako umesto a stavimo g, a umesto s stavimo dH, jer je promena visine u stvari pređeni put u vertikalnom pravcu, dobićemo:
dH = v0Y*t - g*t2 / 2 |
(3)
|
Ako jednačinu (2) zamenimo u (1) dobijamo
Hmax = H0 + v0Y*t - g*t2 / 2 |
(4)
|
Ako ova maksimalna visina bude veća od visine mreže(HM, obojeno crveno na slici iznad)
u ovom slučaju još uvek ne možemo reći da će lopta preći preko mreže, jer ne mora da znači da će lopta svoju maksimalnu visinu na x koordinati mreže, kako smo to bili pretpostavili u zadatku br. 13. Zbog toga moramo da odredimi visinu H koju će lopta imati u trenutku kada bude kod mreže tj. na koordinati xM, a to će se desiti posle vremena tM od udarca(jednačina 1).
Da bi odredili tu visinu H na početnu visinu ćemo dodati promenu visine dH, a da bi smo odredili dH u jednačini (3) za vreme ćemo staviti ono koje smo izračunali pomoću formule (1)
u ovom slučaju još uvek ne možemo reći da će lopta preći preko mreže, jer ne mora da znači da će lopta svoju maksimalnu visinu na x koordinati mreže, kako smo to bili pretpostavili u zadatku br. 13. Zbog toga moramo da odredimi visinu H koju će lopta imati u trenutku kada bude kod mreže tj. na koordinati xM, a to će se desiti posle vremena tM od udarca(jednačina 1).
Da bi odredili tu visinu H na početnu visinu ćemo dodati promenu visine dH, a da bi smo odredili dH u jednačini (3) za vreme ćemo staviti ono koje smo izračunali pomoću formule (1)
dH = v0Y*tM - g*tM2 / 2
pa je dalje
H = H0 + v0Y*tM - g*tM2 / 2 |
(5)
|
Ako ova visina H bude veća od visine mreže(HM, obojeno crveno na slici iznad)
možemo reći da će lopta preći preko mreže ako je H>HM, u suprotnom neće
možemo reći da će lopta preći preko mreže ako je H>HM, u suprotnom neće
Određivanje maksimalnog dometa
Domet možemo odrediti ako posmatramo kretanje u horizontalnom pravcu brzinom v0X. koja je konstantna pa važi:
D = v0X * tD
Gde je tD vreme od udarca lopte pa sve dok lopta ne padne na zemlju. Ovo vreme se može odrediti sabiranjem vremena potrebnog lopti da dostigne maksimalnu visinu t1, da se spusti na istu visinu odakle je zadat udarac t1(isto vreme je potrebno) i vremena koje je dalje potrebno lopti da padne na zemlju, tj da se vertikalno spusti za H0.
tD = 2 * t1 + tP
Vreme t1 je vreme potrebno lopti da dostigne maksimalnu visinu, odnosno da se popne za dH. Kada dostigne maksimalnu visinu brzina u vertikalnom pravcu je nula, pa iz
0 = v0Y - G*t1
dobijamo vreme t1
t1 = v0Y / G
Vreme tP možemo odrediti ako posmatramo verikalni hitac projekcije lopte na Y osu od visine H0 do tla:
H0=v0Y*tP+G*tP2/2;
To je kvadratna jednacina i da bi smo je resili stavimo da je
a=v0Y
b=G/2
c=-H0
Resavajuci kvadratnu jednacinu po tP dobijamo
tP=(-b+√b2-4*a*c)/(2*a);
Na kraju
D=v0X*(2 * v0Y/G + tP) |
(6)
|
Postupak u rešavanju zadataka(algoritam)
- Definisati sledeće podatke: HM, xM, v0, alfa, H, HMax, dH, g, tM, v0X,v0Y,t1,tP,D gde je alfa ugao u stepenima koji zaklapa vektor početne brzine lopte u odnosu na x osu
- Korisnik unosi H0, v0 i HM, ugao, xM
- zadati vrednost za g
- Odrediti ugao u radijanima alfaRad
- Odrediti projekcije početne brzine na x i y osu, tj. v0X i v0Y
- Odrediti vreme tM potrebno lopti da stigne do mreže
- Odrediti na kojoj visini H će biti lopta kad stigne do mreže, koristeći formulu (5)
- Koristeći if-else naredbu odrediti da li ili ne lopta prelazi mrežu
- Izračunati maksimalnu visinu lopte po formuli (4)
- Odrediti maksimalni domet D
Napomena: Lakša varijanta zadatka bi bila kada bi se tražilo da li će lopta preći preko mreže uz pretpostavku da lopta svoju maksimalnu visinu dostiže kod mreže tj. na njenoj x koordinati, jer tada je dovoljno odrediti HMax za čije odrećivanje nije potrebno analiziranje kretanja u x pravcu. Pogledati zadatak br. 19 na strani grananje u programu - primeri
Sledeće
Petlje u C/C++ primeri >| |