In aviation, runways are named according to their magnetic orientation seen from the pilot's perspective. For example: a strip of asphalt oriented along the east-west axis will be named
9 for the pilot coming from west (east is at 90° from North) and
27 for a pilot coming from east (west is 270° from North).
When several runways have the same orientation, the naming convention uses letters L/C/R for distinguishing between the Left/Centre/Right ones (look at the
22 runways in the capture above).
In the game I'm coding, I chose to describe runways by the following three attributes:
- Orientation (between 0° and 180°).
- Position of their geometrical centre relative to the aeroport one.
With this data I'm able to generate all the touchdown points and give them the correct number, but I can't find a straightforward method to assign the correct letter, as I could not think to a straightforward way to mathematically determine which one is "left/centre/right" from a "landing pilot's perspective".
So the question is:
Is there a simple, straightforward vector formula that - given two parallel vectors pointing in the same direction - will return the leftmost (or rightmost) one?
Please note that this question is really about the straightforwardness of the formula, as I already found a non-straightforward way to get the result, but I would like to find a more elegant way to solve the problem.
Many thanks in advance for your expertise and contributions!