Unit tests and Line vs Circle | Coding a 2D Physics Engine in Java #6

Channel:
Subscribers:
59,400
Published on ● Video Link: https://www.youtube.com/watch?v=Yx1fo2YLJOs



Duration: 22:04
3,132 views
0


Join the Discord: https://discord.gg/4tHeAkxNg7

In this episode I go over how to tell if a line segment is intersecting with a circle. We use some fancy math to project the vector from the line's beginning to the center of the circle onto the line segment, then we check the length of that against the length of the line. If the length of the circle to beginning of the line segment is less than the lenght of the line segment and greater than zero, then the line is intersecting. I also go over how to create unit tests for all these functions. So, we integrate JUnit, then set up a simple test class, and finally add the test class to our build configuration so that unit tests are run before the program is started every time. This is a good way to ensure that your code doesn't break if you change things in the future.

Source Code: https://github.com/codingminecraft/MarioYoutube/tree/4651849df0c9ae2ce94c5110ff3359f2a94c53bc

0:00 Intro
0:44 Math behind line vs circle
6:11 Coding line vs circle
10:51 Setting up unit tests

---------------------------------------------------------------------
Website: https://ambrosiogabe.github.io/
Github: https://github.com/ambrosiogabe

Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)

My Recommended Game Engine Books:
Game Engine Architecture: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/

My Recommended Beginning Game Programming Books:
JavaScript Game Design: https://www.apress.com/gp/book/9781430247166

My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/

Outro Music: https://www.bensound.com/royalty-free-music




Other Videos By GamesWithGabe


2020-08-02Gizmos and Asset Management | Cocoa Engine Devlog #11
2020-07-31Framebuffers in OpenGL | Coding a 2D Game Engine in Java #27
2020-07-28Separating Axis Theorem EXPLAINED | Coding a 2D Physics Engine in Java #11
2020-07-24Debug Drawing Boxes and Circles | Coding a 2D Game Engine in Java #26
2020-07-23Why C++ Scares the Crap Out of Me
2020-07-22Circle vs Shape Collision Detection | Coding a 2D Physics Engine in Java #10
2020-07-20Box2D and Serialization ENGINE PROGRESS | Cocoa Engine Devlog #10
2020-07-17How to Raycast Against a Box (OBB) | Coding a 2D Physics Engine in Java #9
2020-07-14How to Raycast Against a Circle | Coding a 2D Physics Engine in Java #8
2020-07-10Line vs Box2D AKA Raycasting | Coding a 2D Physics Engine in Java #7
2020-07-08Unit tests and Line vs Circle | Coding a 2D Physics Engine in Java #6
2020-07-06Rotating Points in 2D Space | Coding a 2D Physics Engine in Java #5
2020-07-03Point vs. Primitives | Coding a 2D Physics Engine in Java #4
2020-06-30Creating 2D Primitives | Coding a 2D Physics Engine in Java #3
2020-06-27Basic Vector Math | Coding a 2D Physics Engine in Java #2
2020-06-26Intro and Roadmap | Coding a 2D Physics Engine in Java #1
2020-06-24Snap To Grid Tool | Coding a 2D Game Engine in Java #25
2020-06-22Translating 10,000 Lines of Java Code to C++ Part 1 | Cocoa Engine Devlog #9
2020-06-19Debug Drawing Functions | Coding a 2D Game Engine in Java #24
2020-06-16Drag 'N Drop Level Editor | Coding a 2D Game Engine in Java #23
2020-06-12Converting Screen Coords to World Coords | Coding a 2D Game Engine in Java #22



Tags:
gameswithgabe
games with gabe
lwjgl3
how to code physics in lwjgl
coding a physics engine
checking line intersecting with shapes
line intersecting circle
how to code a physics engine
unit tests with junit
unit tests in intellij
unit tests in java
line intersection
line vs circle
how to
how to code a collision detector
intersection detection
collision detection
physics engine
2d game physics
lwjgl
java
mario