And to make it even faster

Jump to navigation Jump to search

I also agree that it's wrong. But why is it bigger than the correct one? Can you clarify that?

I understood that the problem with this is that it assumes that it's optimal to move in a fixed retreat angle (like moving in a straight line), when it's actually true that the best retreat angle isn't a function only of the initial position, but it changes as you move around the wave. Is that the real issue?

(Is it correct that the best retreat angle is a function on the distance between the robot and the wave?)

Rsalesc (talk)12:51, 24 September 2017

I knew it's wrong because I had made the same mistake in my previous research.

It's bigger, simply because it uses some smaller distance to calculate the radians.

The correct one is:

<math>\theta = \int_0^{t_1} \frac{v_{lateral}}{d_{initial} + v_{retreat} t}dt</math>

where <math>\theta</math> is the escape angle, <math>t_1</math> is the total time (from bullet fired, to bullet hit). (this formula is true even if <math>v_{lateral}</math> or <math>v_{retreat}</math> is not constant)


Note that <math>d_{initial} + v_{retreat} t</math> is bigger than (his) <math>(v_{bullet} - \overline{v_{retreat}})t_1</math> almost all of the time,

as <math>d_{initial} =

(v_{bullet} - \overline{v_{retreat}})t_1</math>. 

Therefore his integral (<math>\theta = \int_0^{t_1} \frac{v_{lateral}}{(v_{bullet} - \overline{v_{retreat}})t_1}dt = \frac{v_{lateral}}{v_{bullet} - \overline{v_{retreat}}}</math>, assume <math>v_{lateral}</math> is constant) is bigger.

Xor (talk)15:02, 24 September 2017
 
  • Actually, I'm not sure that Traditional MEA is correct. It assumes that the bot doesn't change it's move angle until the wave hits. Because of that you can't get a MEA higher than Pi / 2 with Traditional MEA formula. When you move orbitally, lateralVelocity / (bulletSpeed + advancingVelocity) is the formula that will give you the EA so you can get a EA higher than Pi / 2.
Dsekercioglu (talk)16:09, 24 September 2017

You can't get escape angle higher than Pi/2 by the traditional formula simply because it is impossible.

If your formula can, it must be wrong.

Xor (talk)16:12, 24 September 2017
Found it!
It should be sin(a) / (v / 8 - cos(a) / 2).
Dsekercioglu (talk)16:15, 24 September 2017

The only correct formula to calculate the escape angle of orbital movement where <math>v_{retreat}</math> is not zero is using integral.

Anything else is wrong.

Xor (talk)16:18, 24 September 2017
 
I found a formula higher than Traditional MEA and this one should be correct.
Math.asin(Math.sin(angle) / (bulletSpeed / 8 - Math.cos(angle) / 2))
Dsekercioglu (talk)16:19, 24 September 2017

Anything higher than traditional formula is obviously wrong.

Xor (talk)16:21, 24 September 2017

I don't think that this one is wrong. I only added advancing velocity to the Traditional MEA which shouldn't break anything with the calculations.

Dsekercioglu (talk)16:26, 24 September 2017

No, advancing velocity makes distance not constant, therefore you mast use integral.

Xor (talk)00:44, 25 September 2017

I don't need integral. I can get the average distance.

distance - (advancingVelocity * timeToHit / 2) = bulletFloatTime - advancingVelocity / 2
Dsekercioglu (talk)11:08, 25 September 2017

No you can't use average distance, as distance is used like x / distance, not x * distance.

Xor (talk)12:08, 25 September 2017
It is equal at infinity.
(8 / 5 + 1 + 8 / 11) / 3 = 1.109090909...
(8 / 5 + 8 / 6.5 + 1 + 8 / 9.5 + 8 / 11) / 5  = 1.080029444...
This goes closer to 1 every time I decrease the step size.
Dsekercioglu (talk)15:06, 25 September 2017