Intersection tests
From Wikiid
We quite frequently need to decide if (and sometimes how) two 3D objects intersect. Whilst these routines are predominantly 3D in nature, it is usually simple to make 2D varients. These routines consider an intersection to have ocurred when the two objects exactly touch without interpenetrating - as well as if they are embedded in one another.