How to implement collision detection between two circles using p5.js?

Collision detection is an essential part of game development because it allows for more realistic and interactive gameplay. Without collision detection, characters and objects in a game would pass through each other and the environment, making the game feel unrealistic and less engaging for the player.

Collision detection is usually implemented using mathematical calculations to determine the position and movement of objects in a game. This can be done using algorithms such as bounding boxes, bounding spheres, or ray casting. These algorithms check for intersections or overlaps between objects and determine if a collision has occurred.

Collision between two circles

In this article we are examining one of the most simple collision that you can implement: collision between two circles.

To check if two circles are colliding, you can use the following algorithm:

  • Calculate the distance between the centers of the two circles.
  • If the distance is greater than the sum of the radii of the two circles, then the circles are not colliding.
  • If the distance is less than or equal to the sum of the radii of the two circles, then the circles are colliding.

To calculate the distance between the centers of the two circles, you can use the dist formula provided by the p5.js library.

Note: If you're using codeguppy.com, the collisionCircleCircle function is built-in and you don't have to define it. Go ahead and remove it from the above code. It should run just fine!

Collision between other shapes

Other useful collisions are between circles and rectangles, between rectangles and rectangles or collision of different shapes with lines.

Other collision detections are relatively easy to implement.

However, if you're coding on codeguppy.com you don't have to implement them. codeguppy.com comes with many built-in collision algorithms.

Happy coding!

Read more blog articles Browse JavaScript projects

About codeguppy

CodeGuppy is a FREE coding platform for schools and intependent learners. If you don't have yet an account with codeguppy.com, you can start by visiting the registration page and sign-up for a free account. Registered users can access tons of fun projects!


Follow @codeguppy on Twitter for coding tips and news about codeguppy platform. For more information, please feel free to contact us.