Say I have some custom view orientation in which the global coordinate frame looks like the picture below with no axis aligned to the edges of the computer monitors screen:
Say the direction vector from the origin away from the camera (away from you) is given by this vector:
Vector (-0.3159932494163513, 0.5070327520370483, -0.8019139766693115)
(Note that i am working in orthographic projections if that matters.)
But this is only one direction vector perpendicular to the computers monitor.
How would I get the direction vector parallel to the top (or bottom) edge of the monitor (i.e, the horizontal direction)? Likewise, how would i get the direction vector parallel to the left (or right) side edge of the monitor (i.e, the vertical direction)?
Do i have enough information to find the rest of this frames axis directions?


The horizontal and vertical screen axes are gotten by a different method mentioned in the comments. They are black in color.
Amd posted a method and gave his values for u and v for the camera direction I provided. These are the blue lines.
I did the steps described by amd and projected my own points then read off the values. These gave the following red lines.
Something is off!
There is not enough information to find the remain two axis directions that are parallel to edges of the monitor. One cannot position the XYZ-frame to the monitor just by moving one of it's axis in a parallel direction to the view direction through the origin. The moved XYZ-frame can still take any orientation around it's view directed axis. More information is needed to fix it's orientation.