Quote Originally Posted by Algeh View Post
And then that can in turn be extended with further similar lines to bisect the plane in a new way that narrows your search space from an 8th to a 16th, and so on. It'd probably be easiest to specify where the lines should be using radians, since that system is basically set up to divide circles up nicely, but it could be done with slopes and lines of the form y=mx as well. (All of those would pass through the origin, and you just keep adjusting your m to get the new slopes at the different angles.)

The first few steps of the algorithm would be:

Is the point a solution to x>0? (this answer determines if it's in combined Q1 and Q4, or combined Q2 and Q3)

Is the point a solution to y>0? (this answer determines if it's in combined Q1 and Q2, or combined Q3 and Q4)

At this point, we know which quadrant it's in. Then ask if it's a solution to y>x (if it's determined to be in Q1 or Q3) or y>-x (if it's in Q2 or Q4). You've now narrowed it down to an 8th of the space, or half a quadrant.

Then ask about the similarly appropriate y>mx to bisect your 8th to get a 16th, and so on.
Yeah, and that is sort of good and not obvious either, but it still leaves you with an infinitly long line to find the point along, and the far end doesn't reduce to a line before you reach infinite accuracy in rotation.