I'm sure this is simple, but I can't seem to find any answers on the net (maybe it's just a matter of wording - please redirect me accordingly).

Imagine a "camera" with a square viewport zooms in on a shape (say a circle) that is off-center in its "visual field". At the end of the zoom, the circle fits perfectly inside the camera's viewport.

Now, I see how this could be done by moving the viewport's center to the center of the circle at the same time as the circle's diameter is scaled to the viewport's width/height.

But let's say I can't move the viewport at all; all that is allowed is scaling and moving the circle. What, then, are the corresponding geometrical transformations that must be applied to the circle to simulate the effect of the zoom without moving the camera at all?