An O(n) algorithm to detect if a line intersects a convex polygon consists in checking if any edge of the polygon intersects the line, and look if the number of intersections is
I think this article gives a clear O(log n) solution. Find the extremes in the direction perpendicular to the given line.