On Thu, Jun 13, 2019 at 9:05 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> That's right, but this is exactly what I was trying to describe.  When
> I wrote "translation along the X axis", I meant the original X axis,
> which is unaffected by the rotation.  Are you saying that my
> expectations are incorrect in that interpretation of "X axis"?
> [...]
> Maybe that's the problem: if the rotation is counter-clockwise, then
> the translation should indeed be along the Y axis.

The translation doesn't depend on the rotation in any way.  The general form of
an affine transformation is F(x) + b, where F is a linear transformation
(rotation, shear, scaling) and addition by b is translation. In the example
we're discussing, F is rotation by 90 degrees and b is (0, 232) in some
coordinates.  F does not act on b; the rotation does not affect what the
translation does; whether F is clockwise or counter-clockwise rotation, the
function displaces the result of the rotation along the (original) y axis.  (The
single-matrix form used by the transformation code in image.c is a computational
convenience; the function it expresses still has the form F(x) + b.)