The GJK Algorithm
GJK 01 Jan 2012
This is a (hopefully) accessible explanation of the GJK (that's short for Gilbert-Johnson-Keerthi) intersection algorithm. I'll note in advance for the uninitiated - this algorithm only works for convex objects. Arbitrary convex objects, yes, but they must be convex.
Read more...Implementing GJK 01 Jan 2012
So, a while ago, I needed to write some intersection queries, and a bit of research naturally led me to a GJK-based solution. Further research led me to Casey's excellent explanation of the algorithm (go watch it, it's quite good), along with some interesting insight on how to implement it simply and efficiently. Unfortunately, some of the diagrams in the posts are missing, and it's still a little daunting for a newbie to jump in and make sense of it. Hopefully, I can fix that.
Read more...GJK (fixed) 27 Jun 2025
A long (long) time ago I made two big posts going through the GJK algorithm, how it works, and how to implement it efficiently. They were pretty cool and even had interactive diagrams in them designed to illustrate the geometric concepts and help to intuitively communicate why things work the way they do.
Read more...