Find coordinates of a 2D plane within a 3D plane I'm not sure this is the right place to ask this question, if not I do apologies and I will move on. I am asking this question as a programmer, however it seemed entirely maths based.
Image one is sitting still and holds in front of their face a sheet of graph paper with grid lines. This piece of paper represents a 2D plane, however although it exists inside of another 3D environment, it can be move about such that it's axis may not line up in any meaningful way.
Given 3 points where both the real world X,Y,Z values are known and the relative X,Y coordinates of their position within the paper drawn grid and given that two of these points share the same virtual 2D Y value but differ on X and the third point shares neither the same X nor Y value but does indeed exist on the same virtual 2D plane.
How can I then transform any given coordinate of one set to the other. Say I want to know where square (12,20) on the graph paper exists in the real world and vice versa.
Also, say I have a set of real world coordinates that is not on my 2D plane but directly above it. Is there a way and if so, how would i: traverse "downwards" through 3D space perpendicular to the find the 2D point directly below.
 A: To get this done we need three points on the paper that we know the location of in 3d space.  Ideally, these are the locations of $(0,0)$, $(1,0)$, and $(0,1)$ but I'm going to assume we don't have those.
What we need is the starting point and the vectors that move you $1$ unit along the paper in each direction.  This is an affine transformation, which is like a linear transformation but doesn't insist that the origin sits still.  In this sort of work we use homogeneous coordinates, which means that locations will have a spare coordinate glommed on for the translation, set automatically to $1$.  We'll call our start points $a$, $b$, and $c$ and the three dimensional spots $a'$ etc. Let's put our goodies in a big ol' augmented matrix:
$$\left[\begin{array}{ccc|cccc}
 a_x & a_y & 1 & a'_x & a'_y & a'_z & 1 \\
 b_x & b_y & 1 & b'_x & b'_y & b'_z & 1 \\
 c_x & c_y & 1 & c'_x & c'_y & c'_z & 1 \\
\end{array}\right]$$
We'll then reduce this to RREF using Gaussian elimination, but before we get there we should notice something interesting: we have some matching columns.    They'll turn out the same in the end, and what we're left with is a point (signified by the $1$ in the final component) and two magnitudes (with $0$s), corresponding to the origin of the paper in 3d space and the directions of 1 unit along and across the paper.  Now, we'll take the right half of that augmented matrix, and transpose it, and we have our first result matrix, which I'll call $A$, which we can multiply by a point on the paper (homogenized) and get a point in 3d space.
Now time for the other way around: given a point in 3d space, where is it on the paper?  Well, that's easy, we'll just inve-- oh.  We can't invert this matrix, it's not square!  Okay that's a problem, what do we do about it?
Well, we can take the cross product of our two magnitude vectors in 3d space; this gives a vector perpendicular to both - it's going to be either positive from the front of the paper or the back, depending on the handedness of your coordinate systems.  We can then scale this however we'd like - something that's the magnitude of the original two vectors would be ideal.  Then we can just stuff it in as the third column, and invert that.  Then if you want to project the world onto the paper, just zero out the third row, which tells you how far you are from the paper.
A: For simplicity, suppose you know the coordinates in 3D space $(x_1,y_1,z_1)$ and $(x_2,y_2,z_2)$ of (the image of) $(1,0)$ and $(0,1)$, respectively. Then every point $(a,b)$ in 2D space can be written as
$$
(a,b) = a(1,0) + b(0,1)
$$
and the corresponding point in 3D space has coordinates
$$
a(x_1,y_1,z_1) + b(x_2,y_2,z_2) = (ax_1 + bx_2, ay_1 + b y_2, az_2 + bz_2)
$$
If instead you know the 3D coordinates of, say, $(10,0)$ and $(0,10)$, then you can use the same trick after writing
$$
(a,b) = \frac{a}{10}(10,0) + \frac{b}{10}(0,10)
$$
