I was reading "3D Math Primer for Computer Graphics and Game Development" and there was something the author had said that I thought was particularly interesting, he stated

It is important to understand that this matrix multiplication is still a linear transformation. Matrix multiplication cannot represent “translation” in 4D, and the 4D zero vector will always be transformed back into the 4D zero vector. The reason this trick works to transform points in 3D is that we are actually shearing 4D space. (Compare Equation (6.11) with the shear matrices from Section 5.5.) The 4D hyperplane that corresponds to physical 3D space does not pass through the origin in 4D. Thus, when we shear 4D space, we are able to translate in 3D.

I'm familiar with the shearing transformation, and I can see how a translation matrix in 4D resembles that of a 3D shear. I did not quite understand how this translation in 3D though. So, restating the question I had asked, how does a shear in 4D equate to a translation in 3D space? A geometric visual would also be nice to help me understand this a bit more.

  • 1
    $\begingroup$ Are you requesting a 4D visualisation (which would be projected back to 2D on the screen)? I don't think my brain would cope with that. Can you not just consider a 2D example lifted into homogeneous 3D space? $\endgroup$
    – Simon F
    Jan 24 '18 at 16:34
  • 1
    $\begingroup$ Yes, the standard way to understand this is to visualize the lower-dimensional analogue of this operation, i.e. a 2D translation represented as a 3D shear. $\endgroup$
    – user106
    Jan 25 '18 at 3:23

In a linear transformation system, your origin is always a fixed point, since 0*anything = 0. So imagine you have a cinema screen, and the origin is at the centre of the screen. Using linear transformations, you can rotate, scale or shear the image, what you can't do is move it, since you have a fixed point in the middle.

Now add a dimension, and move your origin out of the screen through this new dimension. Your origin is now at the projector, at <0, 0, 0>, and the centre of your screen is at <0, 0, 1>. So as well as the image transforms you had available before, you can now effectively move your image, by shearing through the space in between the projector and the screen.

Add another dimension and you have the 4D -> 3D case.


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.