Posted: Thu May 31, 2007 8:12 am Post subject: help with trajectories
I did a search and came across these equations for making a bullet follow a proper path when launched:
dy= viy * t + 0.5gt^2
viy = intial vertical velocity
g = gravity (normally -9.8)
dy = distance travelled verticall (or vertical position at time)
t = current time
dx=vix * t
vix = intial horizontal velocity
dx = current horizontal position
t = current time
Use SOH CAH TOA To Get viy, and vix
vix = cos(angle) * power
viy = sin(angle) * power
I translated that into the following java code:(that runs through a while loop, t gets reset to 1 before the loop's execution)
code:
y = 290 - (int) (Math.sin (angle) * power * t + 0.5 * -2 * (int) Math.pow (t, 2));
t++;
x += Math.cos (angle)*power;
as the angle gets adjusted,(from its initial value of 45) the ball flies off in a seemingly random direction.
Can anyone tell me what I'm doing wrong? (Oh and I tried using acos/asin, but the projectile get's stuck in the bottom left corner of the screen when I do so)
Sponsor Sponsor
McKenzie
Posted: Sat Jun 02, 2007 7:18 am Post subject: Re: help with trajectories
Math.sin() and Math.cos() deal in Radians. Odds are you are keeping your angle as degrees (PI radians == 180 degrees.) Also, may I suggest you keep all of your values as double and only cast as int when you draw, this will avoid unnecessary round-off.