Maximum Escape Angle
Let's assume a triangle with sides
c and angles (vertices)
A is the angle opposite to
B is opposite to b, and
C is opposite to
c. The Law of sines says that:
Now let's say that your bot is in the vertex
A and the enemy bot is in the vertex
C. We will fire a bullet with angle
A to hit the bot in vertex
B. We know the value of
b (it is the distance
D from your bot to the enemy).
We don't know
c, but we know that it will be the distance traveled by the bullet. Also, we know that
a will be the distance traveled by the enemy bot. If we put
c as a function of time, we have:
b = D c = Vb * t (Vb is the bullet speed) a = Vr * t (Vr is the enemy bot velocity)
Now, using the Law of sines:
a/sin(A) = c/sin(C) -> Vr*t / sin(A) = Vb*t / sin(C) -> sin(A) = Vr/Vb * sin(C) -> A = asin(Vr/Vb * sin(C))
We don't know the value of
C, but we can take the worst scenario where
C = PI/2 (
sin(C) = 1) to get a Maximum Escape Angle of
A = asin(Vr/Vb * 1) = asin (Vr/Vb).
With a maximum Robot velocity of 8.0, a theoretical Maximum Escape Angle would be
asin(8.0/Vb). Note that the actual maximum depends on the enemy's current heading, speed, and Wall Distance.
- Maximum Escape Angle/Precise Positional - A more precise method of calculating Maximum Escape Angle, that doesn't require movement simulation.
- Maximum Escape Angle/Precise - A sophisticated calculation for Maximum Escape Angle, using Precise Prediction.