Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I need to construct a homography out of a 3x3 rotation matrix. I am fundamentally misunderstanding some part of how homographies are constructed. I have been assuming that a homography is constructed as follows.

hom(0,2) = x translation
hom(1,2) = y translation
hom(2,2) = scale, I can divide the entire matrix by this to normalize

The first two columns I assumed were the first two columns of a 3x3 rotation matrix. This essentially amounts to taking a 3x4 transform and throwing away column(2). I have discovered however that this is not true. The test case showing me the error of my ways was trying to make a homography which rotates points some small angle around the y axis.

//rotate by .0175 rad about y axis
rot_mat = (1,0,.0174,
           0,1,0,
      -.0174,0,1);
//my conversion method to make this a homography gives

homography = (1,0,0,
              0,1,0,
         -.0174,0,1);

The above homography does not work at all. Take for example a point x,y,1 where x > 58. The result will be x,y,some_negative_number. When I convert from homogeneous coordinates back to cartesian my x and y values will both flip signs.

How do I construct a homography that rotates 2D homogeneous points by some angle around the x and y axis?

share|improve this question

1 Answer 1

In the projective plane $\mathbb{RP}^2$ there is no notion of rotation about the $x$- or $y$-axis (nor of any other line in the plane).

Though homographies in $\mathbb{RP}^2$ are represented by $3\times 3$-matrices, they are not to be confused with the linear transformations $\mathbb{R}^3\rightarrow\mathbb{R}^3$. The latter are also represented by $3\times 3$-matrices, and can indeed describe the rotations you ask for.

share|improve this answer

Your Answer

 
discard

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.