Difference between revisions of "Waves/Precise Intersection"
(create this page, migrate from Rednaxela/SuperBotWidth) |
m (Some clarifications and fixing minor errors) |
||
Line 6: | Line 6: | ||
'''Precise Intersection''' of [[waves]] are to calculate every hittable angle/[[Guess Factor|guess factor]]. Normally, people only calculate [[angular bot width]] (<code>Math.atan(18/distance) * 2</code>), which is perfectly accurate and fine when the enemy bot isn't moving. Anyway, enemy robot have depth and can move. | '''Precise Intersection''' of [[waves]] are to calculate every hittable angle/[[Guess Factor|guess factor]]. Normally, people only calculate [[angular bot width]] (<code>Math.atan(18/distance) * 2</code>), which is perfectly accurate and fine when the enemy bot isn't moving. Anyway, enemy robot have depth and can move. | ||
− | In order to make it more accurate, you need to check the intersection range for | + | In order to make it more accurate, you need to check the intersection range for every tick the wave intersects the bounding box of the robot. The intersection range can be calculated by the highest and lowest angeles represented by: |
* Intersections between the robot bounding box and the bullet wave. | * Intersections between the robot bounding box and the bullet wave. | ||
* Intersections between the robot bounding box and where the bullet wave was last tick. | * Intersections between the robot bounding box and where the bullet wave was last tick. | ||
− | * Any corners of the robot bounding box that lie between | + | * Any corners of the robot bounding box that lie between the wave last tick and the wave this tick. |
− | In next tick, the enemy robot had moved, therefore you need to calculate the new intersection range. | + | In next tick, the enemy robot had moved, therefore you need to calculate the new intersection range. You overlay the ranges calculated each tick, to come up with an 'augmented range' ''add up the range calculated each tickThis create an augmented intersection range. |
These steps repeated until the wave passed the robot. The final, augmented intersection range will be the full range that can hit the robot in way more accurate than plain bot width. | These steps repeated until the wave passed the robot. The final, augmented intersection range will be the full range that can hit the robot in way more accurate than plain bot width. | ||
Line 18: | Line 18: | ||
There are only 4 known robots using this technique, which are | There are only 4 known robots using this technique, which are | ||
* [[Garm]]: The first implementation. | * [[Garm]]: The first implementation. | ||
− | * [[RougeDC]]: The original ideas was posted under the name of "Super Bot Width", | + | * [[RougeDC]]: The original ideas was posted under the name of "Super Bot Width", used in both gun and movement. |
* [[DrussGT]]: Current rumble king use precise intersection in the Gun. | * [[DrussGT]]: Current rumble king use precise intersection in the Gun. | ||
+ | * [[PolishedRuby]]: Same gun as RougeDC. | ||
+ | * [[Polylunar]]: Used to determine when a certain angle is going to hit an enemy no matter how they move (only occurs at close range) | ||
* [[Wintermute]]: Newer robot, using in both gun and movement. | * [[Wintermute]]: Newer robot, using in both gun and movement. | ||
<!-- Request for category, I don't know which to put in --> | <!-- Request for category, I don't know which to put in --> |
Revision as of 17:08, 18 May 2009
This article is a stub. You can help RoboWiki by expanding it. |
Precise Intersection of waves are to calculate every hittable angle/guess factor. Normally, people only calculate angular bot width (Math.atan(18/distance) * 2
), which is perfectly accurate and fine when the enemy bot isn't moving. Anyway, enemy robot have depth and can move.
In order to make it more accurate, you need to check the intersection range for every tick the wave intersects the bounding box of the robot. The intersection range can be calculated by the highest and lowest angeles represented by:
- Intersections between the robot bounding box and the bullet wave.
- Intersections between the robot bounding box and where the bullet wave was last tick.
- Any corners of the robot bounding box that lie between the wave last tick and the wave this tick.
In next tick, the enemy robot had moved, therefore you need to calculate the new intersection range. You overlay the ranges calculated each tick, to come up with an 'augmented range' add up the range calculated each tickThis create an augmented intersection range.
These steps repeated until the wave passed the robot. The final, augmented intersection range will be the full range that can hit the robot in way more accurate than plain bot width.
Bot using this technique
There are only 4 known robots using this technique, which are
- Garm: The first implementation.
- RougeDC: The original ideas was posted under the name of "Super Bot Width", used in both gun and movement.
- DrussGT: Current rumble king use precise intersection in the Gun.
- PolishedRuby: Same gun as RougeDC.
- Polylunar: Used to determine when a certain angle is going to hit an enemy no matter how they move (only occurs at close range)
- Wintermute: Newer robot, using in both gun and movement.