Determine plane rotation in 3D when only knowing the length of it sides? For an assignment in computer graphics, i need to be able to determine a plane's rotation by just holding it in front of my webcam. So basically I only got 2D coords of the plane's points. I searched the internet to find how to determine the plane's rotation around the different axis but I found no information about it. Is there a good way to do this?

Thank you!
 A: When you project a 3D point to 2D, it will appear on the screen at 
$$ (x, y, z) \mapsto \left( -\frac{fx}z, -\frac{fy}z \right), \tag{*} $$
here $f$ is the focal length of the camera. Assume $x$ increases to the right, $y$ increases up and $z$ decreases far (right-hand rule).
Assume the plane's center is at $(0,0,-d)$ and the rotation angle is $\theta$ about the $x$-axis, and the plane's real size is $2W\times 2H$, then the four coordinates of the plane in 3D space would be
\begin{gather} 
(-W, H\cos\theta,-d-H\sin\theta), \tag{top-left} \\
(W, H\cos\theta,-d-H\sin\theta), \tag{top-right} \\
(-W, -H\cos\theta,-d+H\sin\theta), \tag{bottom-left} \\
(W, -H\cos\theta,-d+H\sin\theta). \tag{bottom-right} \\
 \end{gather}
Performing transformation (*) to all 4 points, we can find the widths $w$ of the horizontal edges at the 2D projection, and also the distance between the two edges $h$:
\begin{align}
 w_\text{top} &= f\cdot\frac{2W}{d+H\sin\theta} \\
 w_\text{bottom} &= f\cdot\frac{2W}{d-H\sin\theta} \\
 h &= f\cdot H\cos\theta\left(\frac1{d+H\sin\theta} + \frac1{d-H\sin\theta}\right)
\end{align}
There are 3 equations and 3 variables $f,d,\theta$, so we could get the solution.
Note that this assumes we know that the plane's center is $(0, 0)$. If we don't know where the center is, then there isn't enough constraints to find the angle.
