Hitting moving target with projectile (w/ gravity) 2D

AI Thread Summary
The discussion revolves around calculating the firing angle for a bot in a 2D side-view shooter game to hit a moving target while accounting for gravity. The user seeks an equation that provides two possible firing angles based on the bot's and target's positions and velocities, as well as the bullet's speed and gravitational acceleration. Current pseudocode successfully calculates angles but fails to incorporate the target's velocity, which is crucial for accurate targeting. A participant emphasizes that the bot's velocity must also be considered, as it affects the projectile's trajectory in two dimensions. The user expresses a need for further guidance and clarification on the physics involved.
evesira
Messages
6
Reaction score
0
Hello,

I'll give you a little background information on the problem first. It might help.

I'm working on a video game actually. It's a 2d side view shooter. In it, there are bots (computer controlled players) that have perfect aim. They can hit (assuming it's in range) a target, accounting for the velocity of the target and the effect of gravity on the projectile (though most of the projectiles in the game will travel nearly straight paths, some will curve slightly).

Here's what I need. I need an equation that gives:

2 thetas (angle of firing) if the equation is solvable (if it's not solvable, then the bot is out of range, and just won't fire at all)

And here are the variables I know. These will be plugged into the equation I'm looking for:

--- Bot X, Y
--- Bot V (velocity vector)
--- Target X, Y
--- Target V
--- Acceleration of the bullet due to gravity
--- Firing speed of the bullet (Vo)Just to be clear, there are three objects we're dealing with:

--- the bot (the thing that's firing the bullet)
--- the bullet (affected by gravity)
--- the target (has constant velocity)
Here's what I have so far. This works perfectly, EXCEPT for the fact that it doesn't account for the target's velocity. This is pseudocode, which I'm sure most of you should be able to understand.

____________________________________________________________________
Root = (FireSpeed^4)-(Gravity*( (Gravity*(TargetX^2)) + (2*TargetY*(FireSpeed^2)) ));

if (Root >= 0)
{
Angle1 = arctan(((FireSpeed^2)+sqrt(Root))/(Gravity*TargetX));
Angle2 = arctan(((FireSpeed^2)-sqrt(Root))/(Gravity*TargetX));

if (TargetX < 0)
{Angle1 += pi; Angle2 += pi;}
}

____________________________________________________________________The equation I used there is straight from this wikipedia article:
http://en.wikipedia.org/wiki/Trajec....CE.B8_required_to_hit_coordinate_.28x.2Cy.29
If I'm not a complete moron, I'd say that the velocity of the bot doesn't even matter, since it could just be subtracted from the target's velocity (essentially doing the whole problem with a relative velocity). Correct me if I'm wrong, please. You can solve it using vectors, if you wish. Components would be fine as well.

Any help you can give is appreciated, even if it's just a push in the right direction. If you do explain something, please try to explain it thoroughly. I do understand basic (relative the crazy stuff you guys talk about here) physics, but I'm really stumped on this one.Thanks,
Vince
 
Last edited:
Physics news on Phys.org
Anyone?
 
really no one knows at all? or are you just unwilling to give guidance for some reason..
 
I'm pretty sure that the velocity of the bot fire at the target does matter. The object that you are firing from the bot is moving at the same velocity of the bot, therefore you have to take in consideration the velocity of the bot. because your doing velocity in 2 dimensions, you need to calculate the velocity of the x component, and y component. I think that's what you were asking, seeing how I can't read that code. I hope I could be of some help, and I'm not just telling you something you already know. Good luck anyway.
 
Thread 'Is 'Velocity of Transport' a Recognized Term in English Mechanics Literature?'
Here are two fragments from Banach's monograph in Mechanics I have never seen the term <<velocity of transport>> in English texts. Actually I have never seen this term being named somehow in English. This term has a name in Russian books. I looked through the original Banach's text in Polish and there is a Polish name for this term. It is a little bit surprising that the Polish name differs from the Russian one and also differs from this English translation. My question is: Is there...
Hi there, im studying nanoscience at the university in Basel. Today I looked at the topic of intertial and non-inertial reference frames and the existence of fictitious forces. I understand that you call forces real in physics if they appear in interplay. Meaning that a force is real when there is the "actio" partner to the "reactio" partner. If this condition is not satisfied the force is not real. I also understand that if you specifically look at non-inertial reference frames you can...
Back
Top