Tradiotional MEA proof

From RoboWiki
Jump to: navigation, search

I came up with a proof for traiotional MEA which fits on a margin :)

First of all we notice that even the slowest bullet is faster than a bot at full speed. Thus any bullet eventually hits a bot. Now we assume that both the bot and the bullet are spherical points and move in vacuum :), also that there are no walls. We also assume that the bot can reach maximum speed instantaneously.

Let's put the firing bot in the origin and the target somewhere on the right of the x axis (no y displacement). Now we notice that in order to hit the bot, the bullet must have exactly the same y projection of the speed as the target bot.

Vbullet_y = sin(theta)*V_bullet = Vbot_y

Sin V_bullet is fixed in a given situation, the maximum theta (MEA) will be when Vbot_y is maximized, i.e. V_bot_y = V_bot. Substituting it above, we obtain traditional formula

MEA = asin( Vbot/Vbullet )
Beaming (talk)02:47, 25 September 2017

excellent proof! I traped myself in polar coordination and forgot the most important cartesian coordinates;)

Xor (talk)04:09, 25 September 2017
 

I really like this proof!

There is another that you can do, with calculus, so find the escape angle that maximises theta. But that one is more complicated =)

Skilgannon (talk)05:51, 25 September 2017
 

Anyway, the less assumptions you made, the better ;) Do not assume constant speed & direction — use integral instead.

Assume the firing robot sits at the origin, and the target robot sits on the positive x-axis.

Since when hit, y_{bullet} = y_{robot}, we have

\int_{0}^{t_1} v_{bullet} sin(\theta) dt = \int_{0}^{t_1} v_{robot} cos(\alpha) dt where \theta is escape angle, \alpha is retreat angle (the heading of the target robot relating to the y-axis, the direction from y-axis to x-axis is positive).


Since v_{bullet} and \theta is constant, we have

v_{bullet} sin(\theta) t_1 = \int_{0}^{t_1} v_{robot} cos(\alpha) dt


assume v_{robot} is always the max — 8, therefore constant, we have

v_{bullet} sin(\theta) t_1 = v_{robot} \int_{0}^{t_1} cos(\alpha) dt


let \alpha_{0}, \alpha_{2} s.t. cos(\alpha_{0}) \leqslant cos(\alpha) \leqslant cos(\alpha_{2})

there exists \alpha_{1}, cos(\alpha_{0}) \leqslant cos(\alpha_{1}) \leqslant cos(\alpha_{2}) s.t. cos(\alpha_{1}) t_1 = \int_{0}^{t_1} cos(\alpha) dt


then we have

v_{bullet} sin(\theta) t_1 = v_{robot} cos(\alpha_1) t_1

v_{bullet} sin(\theta) = v_{robot} cos(\alpha_1)

sin(\theta) = \frac{v_{robot}}{v_{bullet} } cos(\alpha_1)

then we have

\theta_{max} = asin(\frac{v_{robot}}{v_{bullet} }), which can be reached when \alpha_1 = 0.

since cos(\alpha) \leqslant cos(0) = 1, \alpha must be always 0, which proved that retreat angle must be always 0.

And we proved that \theta_{max} = asin(\frac{v_{robot}}{v_{bullet} }) is true.

Xor (talk)10:24, 25 September 2017
 

I'm still sure that getting slightly away is better both with orbital and traditional one.

Dsekercioglu (talk)07:08, 26 September 2017

Better for what? It does not increase your MEA. Though it decreases the target angular size, so it reduces the probability to be hit. Calculating probability to be hit is yet another beast, which we probably should attempt to solve analytically.

There is another issue, the traditional MEA is good only for a single isolated wave, the real question is how to increase the MEA in a stream of constantly fired bullets.

Beaming (talk)17:59, 26 September 2017

For wave surfers, I think my work is useful — User:Xor/Better_MEA_formula, as the movement is constant with time, it is naturally suitable for multiple waves ;)

Xor (talk)01:15, 27 September 2017

The problem with your formula is that it does not match traditional MEA in the border cases.

The second problem that I not fully understand it. It looks like you are integrating angular velocity to an undefined time t.

Beaming (talk)02:11, 27 September 2017

it matches orbital MEA in border cases though, as always moving perpendicular is impossible, so you have to fallback to orbital ;)

I'm integrating angular velocity from fire time to hit time, which is obviously the escape angle ;) sorry for not saying that clearly in advance, the article is still not finished ;)

Xor (talk)04:49, 27 September 2017
 
 

It increases also. If the formula below is correct, it is true.

asin(sin(a) / (v / 8 - cos(a) / 2))

You can try brute forcing.

Dsekercioglu (talk)09:42, 28 September 2017
 
 
 
Personal tools