[ 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).