This pattern of "multiply by a matrix, perform some operation, then multiply the inverse of the original matrix" seems pretty common. Is there specialized hardware in the graphics card that performs such operations, or is this a higher-level task (e.g. for linear algebra packages)?
If we rotated without translating, the square would end up at the same angle, but it would also be displaced relative to where we want it. We can think of the center x as a point on a circle centered at the origin. If we rotate the square without translating x to the origin first, we also rotate x.
If we rotate first, can we still use translation after to get the correct final result?
The rotation probably would do something like slide 11, where the cube would be somewhere else
^^ I understand that we need both a rotation and translation to ever reach the desired result, but could this be done with a rotation first and then translating afterwards?