Ray-Shooting Algorithms for Robotics