CLRS computational geometry segment intersections