MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a camera matrix $P$ which defines a projective transformation $\mathbb{P}^3 \rightarrow \mathbb{P}^2$. In the former space there is a plane $[ x|\pi^Tx=0 ]$. The image of the plane under $P$ does not preserve angles. How can I find a transformation $H : \mathbb{P}^2 \rightarrow \mathbb{P}^2$ such that a right angle in the plane remains a right angle after applying $H \circ P$?

The application for this problem is extracting texture from a photo of a planar surface where the surface and camera locations are known.

share|cite|improve this question
up vote 2 down vote accepted

By picking orthogonal coordinates in the given plane you can make an angle preserving projective map $\mathbb{P}^2\to\mathbb{P}^3$ whose image is the given plane. Composing with your camera mapping, you now have a mapping $G\colon\mathbb{P}^2\to\mathbb{P}^2$ that does not preserve angles. Let $H=G^{-1}$. The composition $HG=I$ clearly preserves angles; hence so does $HP$ when restricted to the given plane.

(Reverse the order of composition if you follow the usual computer graphics convention of letting matrices act on the right.)

share|cite|improve this answer
Thank you. I got something working yesterday, but I now see how to simplify it. – Ben Feb 23 '10 at 8:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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