Fixed collision detection when a bullet passes through a bot. #14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The algorithm uses the projection of the vector AB (from bullets
previous location to center of bot) onto AC (from bullets previous
location to new location). If the distance from the projection to the
center of the bot is less than the radius of the bot somewhere along the
way the bullet passed through the bot, resulting in a hit. If the
magnitude of this projection is greater than the magnitude of the
bullets vector then the bullet has not passed through the target
because the bullet has not yet traveled far enough.
Test cases have been added that describe the above.
Here's a graphic representation of the algorithm:
This should be thoroughly reviewed.