Why are local coordinates for scaling different from that

I think this has been kicked around before, but I’m wondering why, architecturally, it is handled differently. For now, let’s keep the context to object coordinate mode.

In that mode, rotations are about group axes, and translations are along group axes. But scaling seems to stay fixed in an unseen coordinate frame at the center of the object. Why handle scaling differently?

A simple experiment will demonstrate. Switch into object coordinate mode. Drag a cube onto the xz plane. Move the cube’s group axes (now at the center of the cube) to the bottom face on the xz plane. Now the center of the cube is at y=0.5, and the bottom of the cube is at y=0. Go into object properties and rotate the cube and axes 45 degrees about the y-axis.

Now, using the edit control in the lower right hand corner, rotate the cube about the z axis. Fine. The cube rotates about the local z axis. Undo the rotation. Next, translate the cube 1 unit along the z-axis. Again, the cube moves as expected (with one possible exception to be noted later). Undo the translation. Finally, scale the object by a factor of two along the y-axis. Whoops! Watch the bottom of the cube disappear beneath the xz plane. The local axes remain on the xz plane. The new bottom is at y=-0.5, and the top is at y=1.5. For a scaling relative to the local axes at y=0, I expected the bottom of the cube to remain at y=0 and the top to go to y=2.

Also, note that the local axes are handled differently. For translation and scaling, the axes position is static, whereas the axes rotate with the cube.

‘Splain please.

You must be logged in to reply in this thread.

1 post