Coding Challenge 184: Collisions Without a Physics Library! @TheCodingTrain
Coding Challenge 184: Collisions Without a Physics Library!  @TheCodingTrain
Uploaded July 2024 | Updated September 2026, 1 week ago
What happens when two circles collide in a p5.js canvas? In this video, I examine the math and implement idealized elastic collisions in a JavaScript physics simulation. This video supplements the Nature of Code book series in Chapter 6 which uses 3rd party physics libraries to handle collisions rather than a direct implementation. Code: thecodingtrain.com/challenges/184-elastic-collisions

πŸš€ Watch this video ad-free on Nebula nebula.tv/videos/codingtrain-coding-challenge-184-elastic-collisions

p5.js Web Editor Sketches:
πŸ•ΉοΈ Elastic Collisions: editor.p5js.org/codingtrain/sketches/3DrBb8LCp
πŸ•ΉοΈ Elastic Collisions - Quadtree: editor.p5js.org/codingtrain/sketches/z8n19RFz9

πŸŽ₯ Previous: youtu.be/p7IGZTjC008?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ Next: youtu.be/MazpwQNdJYQ?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ All: youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH

References:
πŸ“• The Nature of Code: natureofcode.com
πŸ›’ Pre-order The Nature of Code: nostarch.com/nature-code
πŸ”— Elastic Collision: en.wikipedia.org/wiki/Elastic_collision
πŸ“ƒ 2-Dimensional Elastic Collisions without Trigonometry: vobarian.com/collisions/2dcollisions2.pdf
πŸ“ƒ Elastic Collisions Formula Derivation: dipamsen.github.io/notebook/page/collisions.pdf

Related Coding Challenges:
πŸš‚ youtu.be/IIrC5Qcb2G4
πŸš‚ youtu.be/OJxEcs0w_kE
πŸš‚ youtu.be/PoW8g67XNxA
πŸš‚ youtu.be/h5ZNcAPXxew

Timestamps:
0:00 Introduction
0:20 The Nature of Code book
1:22 Review background material
4:15 Collision Resolution
5:42 Start Coding
8:48 Add collide() function
10:17 Momentum and kinetic energy
14:15 Line of impact
16:44 Add the formulas
21:25 Simplify the code
22:57 Check for overlap
24:31 Check the particle's kinetic energy
25:48 Fix error
27:30 Add more particles
30:11 Optimizations
30:50 Outro

Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound

πŸš‚ Website: thecodingtrain.com
πŸ‘Ύ Share Your Creation! thecodingtrain.com/guides/passenger-showcase-guide
🚩 Suggest Topics: github.com/CodingTrain/Suggestion-Box
πŸ’‘ GitHub: github.com/CodingTrain
πŸ’¬ Discord: thecodingtrain.com/discord
πŸ’– Membership: youtube.com/thecodingtrain/join
πŸ›’ Store: standard.tv/codingtrain
πŸ–‹οΈ Twitter: twitter.com/thecodingtrain
πŸ“Έ Instagram: instagram.com/the.coding.train

πŸŽ₯ youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
πŸŽ₯ youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA

πŸ”— p5.js: p5js.org
πŸ”— p5.js Web Editor: editor.p5js.org
πŸ”— Processing: processing.org

πŸ“„ Code of Conduct: github.com/CodingTrain/Code-of-Conduct

This description was auto-generated. If you see a problem, please open an issue: github.com/CodingTrain/thecodingtrain.com/issues/new

#collisions #physicssimulation #collisiondetection #p5js #javascript
Coding Challenge 184: Collisions Without a Physics Library!2.2: Variables in p5.js (Define Your Own) - p5.js TutorialCoding Train Live!2021 Choo Choo!BΓ©zier curves (Coding Challenge 163)Playing YOUR Versions of the Apple ][ Snake Game! - Showcase 1 #creativecoding #programming #shortsRobot Controllers Part 1: PID (with Dr. Christian Hubicki)Processing Foundation Holiday Telethon 2020The Coding Train Musical Multiverse! #programming #music #shorts#genuary15 physics library!Coding Challenge 187: Bayes TheoremWhat’s new in Nature of Code?
The Coding Train |

Coding Challenge 184: Collisions Without a Physics Library!

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER