[ reiser @ 21.12.2009. 04:09 ] @
| Zelim da napisem program koji ce, na osnovu pocetnog polozaja lopte na ekranu, da izracuna jacinu i smer kojom lopta treba da se baci da bi upala u kos na drugoj strani ekrana. Kos se nalazi uvek na istoj poziciji. Konkretno, evo te igre: http://www.onlinegames.com/basketball/
Dajte mi neke hintove kako da pocnem ovo. Zanemarimo odredjivanje koordinate lopte i kosa, interesuje me samo matematicki deo programa, tj kako da izracunam smer i jacinu kojom lopta treba da se baci ? |
[ vlaiv @ 21.12.2009. 08:48 ] @
Pretpostavljam da mozes sistemom jednacina
ako zanemarimo otpor vazduha, uprosceno po x i y koordinatama jednacine su
deltaX = Vh0*t1 (deltaX - pomeraj prema kosu u pravcu X ose)
deltaY = deltaY1-deltaY2 (deltaY1 - je pomeraj lopte od pocetne do maksimalne tacke na putanji kada krece da pada a deltaY2 rastojanje od te tacke do kosa po Y osi)
deltaY1 = Vv0*t2 - (g*t2^2)/2 (Vv0 pocetna brzina po Y osi, g gravitaciona konstanta, t2 vreme potrebno da se dostigne maksimalna udaljenost)
(takodje mozes koristiti i jednacinu VvZ = 0 = Vv0-g*t2, krajnja brzina po vertikali u zenitu je 0)
deltaY2 = (g*t3^2)/2 (t3 vreme da se od maksimalne tacke stigne do kosa)
Vv0^2+Vh0^2 = V0^2 (ili sinusom i kosinusom preko ugla suta)
kao i jednacina
t1 = t2+t3
poznate vrednosti su deltaX, deltaY, g
Nepoznate velicine su deltaY1, deltaY2, t1, t2, t3, V0
Pretpostavljam da bi trebalo fiksirati recimo ugao suta pa odatle izracunati brzinu kojom treba da se baci da bi lopta pala u kos
ili obrnuto fiksiras pocetnu brzinu V0 (jacinu suta) i onda izracunas ugao kojim treba baciti da bi lopta uletela u kos.
Znaci jedno od to dvoje moras pretpostaviti. Mozda je najbolje da imas interval pocetnih brzina iz kojeg za svaki sut biras random brzinu
i onda izracunavas ugao pod kojim treba da se baci lopta.
Ovo gore su osnovne jednacine kretanja (put, brzina, ubrzanje).
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.