# General fixed-point scaling

For general fixed-point scaling problem, If I want to scale twice about a fixed point (x, y), I need to first translate the object so that fixed point coincides with the origin, then do the scaling and then translate the object back to its position.

In the books, the matrix operation for this is given as

|1 0 x| |s 0 0| |1 0 -x|
|0 1 y|*|0 s 0|*|0 1 -y|
|0 0 1| |0 0 1| |0 0  1|


and my doubt is, why in the first matrix, we have used x, y? Don't we need -x, -y since we already are at some fixed point x, y and we want to shift that point to 0,0 and so we probably need to translate back by x, y ?

• Usually, the last matrix is the first action to be applied, so you read them in reverse order. But it depends on your modeling factors mathematicians like to look from inside out, but it is not impossible to read the ther way around it only transposes your computation. – joojaa May 31 '18 at 12:09