Let P be a simple, but not necessarily convex, polygon and q an arbitrary point not necessarily in P.
Design an efficient algorithm to find a line segment originating from q that intersects the maximum number of edges of P.
In other words, if standing at point q, in what direction should you aim a gun so the bullet will go through the largest number of walls?
A bullet through a vertex of P gets credit for only one wall.
An O(n log n) algorithm is possible. n is the number of vertices or edges, as it is a polygon, number of edges roughly equals to number of vertices.
this is the same as this this question however I was not able to understand the answer, more specifically the answer did not seem to involve q, also the head and butts thing was not clear as each point on a polygon would be a head and a butt as each point is attached to two edges, if that makes sense. Thanks