a*x + b*y + c*z = d
Then N\ =\ (a,b,c) is a vector normal to the plane. The origin of the coordinates in the viewing plane is chosen to be:
Origin = N . d / (a\² + b\² + c\²)
If a and c are not both 0, then (c,0,-a) is normal to N and is used, after normalisation, as first coordinate. If a and c are both 0, then b is non-zero and (0,c,-b) is a non-zero vector normal to N which is used as second coordinate axis, also after normalisation. We call the first coordinate vector U, the second V.
The remaining coordinate vector is obtained as the external product of N and the already known coordinate vector. To ensure the system is right-handed, we define in the first case V\ =\ N\ \×\ U and in the second case U\ =\ V\ \×\ N.
These coordinates are chosen such that x is the first coordinate axis for a view in the y=0 plane and y the second coordinate axis for the x=0 plane. The default axes can be rotated by user specified angle.
Formatted on 21/01/18 at 16:55.