
-----------------------------------
zuber
Thu May 31, 2007 8:12 am

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)
                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)

-----------------------------------
McKenzie
Sat Jun 02, 2007 7:18 am

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.
