\documentclass{article} \usepackage{tikz} \usepackage{amsmath} \begin{document} \section{3D Projection} \def\minY{-2} \def\maxY{2} \def\minZ{-2} \def\maxZ{6} \def\screenZ{2} \def\eyeZ{0} \def\eyeY{0} \def\pZ{3} \def\pY{1} \begin{tikzpicture} \draw[-stealth] (\minZ,0) -- (\maxZ,0) node[above]{$z$}; \draw[-stealth] (0,\minY) -- (0,\maxY) node[above]{$x$}; \draw[fill] (\eyeZ, \eyeY) circle (.5ex) node[above]{eye ($E$)}; \draw[dotted,thick] (\screenZ, \minY) -- (\screenZ, \maxY) node[above]{screen ($S_z$)}; \draw[dotted] (\eyeZ, \eyeY) -- (\pZ, \pY); \draw[dotted] (\eyeZ, \eyeY) -- (\pZ, -\pY); \draw[fill] (\pZ, \pY) circle (.5ex) node[above]{$p_1$}; \draw[fill] (\pZ, -\pY) circle (.5ex) node[above]{$p_2$}; \draw[fill] (\screenZ, {(\pY - \eyeY)/(\pZ - \eyeZ)*(\screenZ - \eyeZ) + \eyeY}) circle (.5ex) node[above]{$p_1'$}; \draw[fill] (\screenZ, {-(\pY - \eyeY)/(\pZ - \eyeZ)*(\screenZ - \eyeZ) + \eyeY}) circle (.5ex) node[above]{$p_2'$}; \end{tikzpicture} When we refer to $p$ we mean either $p_1$ or $p_2$. When we refer to $p'$ we mean either $p'_1$ or $p'_2$. \begin{align} & p = (p_x, p_y, p_z) \\ & p'= (p'_x, p'_y, S_z) \\ & E = (E_x, E_y, E_z) \\ \end{align} The formula to find $p'$ \begin{align} & p_y' = \frac{(p_y - E_y)(S_z - E_z)}{(p_z - E_z)} + E_y \\ & p_x' = \frac{(p_x - E_x)(S_z - E_z)}{(p_z - E_z)} + E_x \\ \end{align} If we assume that $E = (0, 0, 0)$ and $S_z = 1$ \begin{align} & p_y' = \frac{p_y}{p_z} \\ & p_x' = \frac{p_x}{p_z} \\ \end{align} \end{document}