exact ray box intersection

hello, i just implemented ray box intersection like described here:

now this just returns me true or false, but i would need the exact intersection point(s) of the ray and the box?

is there an easy way to do it or will i have to test each of the 6 sides and then check if the results are part of the box?

thanks!

I am not sure it is directly possible from that code (especially given the possabiliity of multiple intersections), but I would not worry. The important thing is to reject no collision cases as fast as possible (which that code does really well). Actual collisions are much rarer and you can afford a bit more time on them.

I don’t know if you’re still reading this but I might have some more to add. The separating axes theorem (which holds for any convex poly) in principle only gives you the distance between two convex polygons but it’s not that hard to extend the algorithm. I’m currently working on that myself for convex polygons, so if you want a full algorithm, just ask.

For box line collisions you could have a look at the phys2d library (http://code.google.com/p/phys2d/), specifically the LineBoxCollider (http://phys2d.googlecode.com/svn/trunk/phys2d/src/net/phys2d/raw/collide/LineBoxCollider.java).