Difference between revisions of "Maximum Escape Angle/Precise Positional/Non-Iterative"

From Robowiki
Jump to navigation Jump to search
m (fix)
(Rewrite)
Line 1: Line 1:
[[File:EscapeCircle.png|600px]]
+
{{Stub}}
  
Consider a situation where a bullet fired from the firer A hits the target C at some future position B. A is the angle opposite to a, B is opposite to b, and C is opposite to c.  
+
[[Image:Non-iterative PPMEA.png|frame|Illustration of non-iterative PPMEA.]]
  
Let the target C be the origin, the distance and orientation from the target to the firer be the unit length and positive x-axis respectively.  
+
To calculate PPMEA non-iteratively, first consider the [[Escape Envelope]] ignoring heading & velocity changing rules. Without walls, this area is essentially the area of [[Escape Circle]]. And with walls, it is the intersection of the area of the [[Escape Circle]] and the battle field (points reachable by a robot considering only walls). Consider rays from the firer to points in this area, the PPMEA is formed by a pair of the rays with maximum angle between them. And the rays with such property can either by tangent rays to the circumference part of the outline of the area, or rays to the vertex of the area.  
  
Let θ be the angle between b and a, we have c / a = Vb / Vr, b = 1, where Vb and Vr is the velocity of the bullet and the target respectively. Now consider cosine formula:
+
With this in mind, to find PPMEA, take a collection of rays from firer to the intersections of the [[escape circle]] and the walls, along with the tangent rays to the [[escape circle]] whenever the intersection is within the battle field. The PPMEAs can be calculated by the maximum of the angles formed by one of the rays and line of sight.  
  
a<sup>2</sup> + 1<sup>2</sup> - 2 a cosθ = (Vb / Vr a)<sup>2</sup>
+
== See also ==
 
+
* [[Escape Circle]]
Let x = a cosθ, y = a sinθ, k = 1 / ((Vb / Vr)<sup>2</sup> - 1), we have:
 
 
 
(x + k)<sup>2</sup> + 2 k x = 1<sup>2</sup> (k<sup>2</sup> + k)
 
 
 
The points defined by (x, y) satisfying above formula is a circle e with center = P(-k, 0), and radius = sqrt(k<sup>2</sup> + k).
 
 
 
To find precise positional max escape angle, select the max of the escape angles calculated from the intersections of the above circle and the walls, or use traditional max escape angle when no intersection can be found.
 

Revision as of 11:44, 8 August 2019

This article is a stub. You can help RoboWiki by expanding it.
Illustration of non-iterative PPMEA.

To calculate PPMEA non-iteratively, first consider the Escape Envelope ignoring heading & velocity changing rules. Without walls, this area is essentially the area of Escape Circle. And with walls, it is the intersection of the area of the Escape Circle and the battle field (points reachable by a robot considering only walls). Consider rays from the firer to points in this area, the PPMEA is formed by a pair of the rays with maximum angle between them. And the rays with such property can either by tangent rays to the circumference part of the outline of the area, or rays to the vertex of the area.

With this in mind, to find PPMEA, take a collection of rays from firer to the intersections of the escape circle and the walls, along with the tangent rays to the escape circle whenever the intersection is within the battle field. The PPMEAs can be calculated by the maximum of the angles formed by one of the rays and line of sight.

See also