# projective camera: back-projecting a point on the image plane into 3-space

suppose I got a projective camera model. for this model I would like to back-project a ray through a point in the image plane. I know that the equation for this is the following: $$y(\lambda) = P^+_0 x_0 + \lambda c_0$$ where $P^+_0$ denotes the pseudoinverse of the camera matrix. $x_0$ the point on the image plane and $c_0$ the center of the camera.

Now I don't fully get this equation. I get that $P^+_0 x_0$ results in a point on the line we are looking for. Hence we have two points that we can use for constructing a line. However I don't get the parametrization using $\lambda$. Why is the equation not in the form like: $$y(\lambda) = (1-\lambda) a + \lambda b$$

Any help in understanding the original equation of the resulting ray would be appreciated! :D

-

I hope it's ok if I provide an answer myself.

Algebraic explanation: we're trying to solve the equation $$PX=x$$ This is a linear system which can be solved using the pseudo-inverse(see): $$X(\lambda)=P^+x+(I-P^+P)\lambda$$ We now $PC=0$, hence $I-P^+P$ is exactly our $C$.

-
The equation is in your form, with $a = P^+_0 x_0$ and $b = P^+_0 x_0 + c_0$.
Since $P c_0 = 0$, $P \lambda c_0 = \lambda P c_0 = 0$. I think that adding a linear multiple of $c_0$ corresponds to sliding along a line normal to the image plane (i.e. parallel to the principal axis), which doesn't change the projected point in the image plane.