0
\$\begingroup\$

This question has been bothering me lately. I know the correct order to scale, rotate and transform a matrix but the question I have is very different. What if we first scale our rotation matrix by some value and then multiply it with our object? What will be its affect on our object?

\$\endgroup\$
6
  • \$\begingroup\$ This looks like a question you could answer by trying it and observing the results. What do you observe when you try this? \$\endgroup\$
    – DMGregory
    Jun 22 at 20:04
  • \$\begingroup\$ @DMGregory is there a tool (desktop or online) that allows playing around and observing this stuff? I would be interested in experimenting without having to setup complicated C libraries and opengl windows. \$\endgroup\$
    – PentaKon
    Jun 22 at 20:06
  • \$\begingroup\$ Like literally any game engine? If you're developing a game, you should already have this at your fingertips. If you're not developing a game, then you might be on the wrong website. \$\endgroup\$
    – DMGregory
    Jun 22 at 20:08
  • \$\begingroup\$ I actually use this place to learn about linear algebra, 3D math etc. from a practical aspect instead of the more theoretic approach you'd find in the math stackexchange! \$\endgroup\$
    – PentaKon
    Jun 22 at 20:13
  • \$\begingroup\$ I'm not a big math person. But I'm pretty sure the definition of a rotation matrix is that it doesn't scale [i,j,k]. Or at least practically: vectors that are transformed by it don't change magnitude and the coordinate system doesn't change order. So if you "scale" a rotation matrix, then by definition it's no longer a rotation matrix --> now it's a matrix that rotates and scales. \$\endgroup\$
    – Charly
    Jun 22 at 20:38
0
\$\begingroup\$
Effect

The effect will be to rotate then scale, or scale then rotate your object, depending on what order you perform the multiplications.

Explanation

Matrices (at least in less than 3 dimensions) carry super strong geometric intuitions. You can literally just think of them as holding transformations of space: be it translating, scaling, rotating, skewing or any combination of these. Multiplying two or more matrices, has the geometric equivalence of applying these transformations one after another. So if you multiple a rotation matrix * scaling matrix, you can think of it as scaling, then rotating space (or whatever vectors you put through this resulting matrix).

As to the name of the resulting matrix...

The definition of a rotation matrix is that it doesn't scale space nor reorder it's basis vectors [i,j,k]. More practically: rotation matrices don't change the magnitude of vectors or rearrange their [x,y,z] components.

This all means that if you scale a rotation matrix, then by definition it's no longer a "rotation" matrix --> now it's a matrix that rotates and scales.

\$\endgroup\$

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.