Scaling then Rotating

1)Let’s say 0,0,0 is my center and i translate to 100,100,0. Now I want to rotate like the moon rotates around the earth around 0,0,0. What i do is translate to 0,0,0, rotate, translate back. That works fine.
2)Next, I add in a glScalef(2.0,1.0,1.0)
The result of this is what i expect, a slightly distorted object along the x object in the 2nd quadrant.
3) However, if i do the translate to 100,100, then scale, then rotate (in “2” i did TRS), my object ends up way on the left hand side of the screen aligned with the x axis.
4)If i were to scale uniformally (i.e. 2,2,2) everything works no matter what order i do it in.

Any idea WHY this happens? Does scaling non-uniformally mess up orthogonal axes?

P.S. My object is a pyramid if that matters, although i dont think it should.

I think it would be better if you posted the sequence of operations. There are things which are not clear from your description, like what rotation you are using.

Antonio www.fatech.com