A perspective transformation of a point is defined as follows:

$ x' = \frac{M_{11}x + M_{12}y +M_{13}}{M_{31}x + M_{32}y +M_{33}} $

$ y' = \frac{M_{21}x + M_{22}y +M_{23}}{M_{31}x + M_{32}y +M_{33}} $

Now, say I wish to transform a uniform grid (blue) and obtain the transformed grid (green), as illustrated below.

Perspective grid transformation

My intuition tells me that the largest transformed tile (on the green grid) will be either in the top left, top right, bottom left or bottom right corners i.e. in one of the extreme corners.

Is there a (not necessarily formal) way to prove this?


We can apply a linear transformation to get into the situation $$ \begin{align*} x' &= \frac{x+C}{Ax+By+1} \\ y' &= \frac{y+D}{Ax+By+1} \end{align*} $$ The Jacobian of the mapping $$ J = \begin{vmatrix} \frac{\partial x'}{\partial x} & \frac{\partial x'}{\partial y} \\ \frac{\partial y'}{\partial x} & \frac{\partial y'}{\partial y} \end{vmatrix} $$ is the infinitesimal area element of the mapping. That is, it is the area of an epsilonic rectangle around the image of a point $(x,y)$. In our case, the Jacobian turns out to be $$ J(x,y) = \frac{1-AC-BD}{(Ax+By+1)^3}. $$ This function is either increasing or decreasing in each of the inputs $x,y$, and so after the initial affine transformation, one of the corner rectangles has the maximal area (and same for the minimal area). The linear transformation might change the sense of the axes, but otherwise only affects the area by a constant factor.

| cite | improve this answer | |
  • $\begingroup$ Can you please elaborate on the first step? What is the linear transformation that you can apply? Do you apply it on x',y' to get x'' and y''? $\endgroup$ – Daniel Mar 13 '16 at 12:14
  • $\begingroup$ You apply it on $x',y'$ to get $x'',y''$, which I denoted by $x',y'$. Assuming the original $x',y'$ are linearly independent (the other case is not so interesting), you can always find a linear transformation which brings you to the situation I wrote. $\endgroup$ – Yuval Filmus Mar 13 '16 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.