# Re: The TransformRef value

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Thu, 15 Nov 2007 14:52:42 +0100

Message-Id: <200711151452.42509.Dr.O.Hoffmann@gmx.de>
```
Well, lets see if this helps.

zooming and panning is related somehow to the zoomAndPan attribute,
this is explained in SVGT1.2 in chapter 13.10.
Zooming is a scaling mechanism provided by the user agent/viewer.
Panning is a shift/translation mechanism provided by the user agent/viewer.
How this is done (menue item, formula, button, pointer interactions, keys),
depends on the viewer and is not specified.

Therefore this is mathematically similar to the related transform operation
from the author of the document, but zooming and panning is done or
specified by the user.
Therefore they cannot replaced in general by transform attributes.

However if you are both, author and user of the same document, it
is possible to simulate a specific result of a user action with the transform
attribute somehow (and maybe with interactive animation).
Concerning constrained transformation this simulation requires a specific
document structure, because implicite transformations related to the
attribute viewBox and preserveAspectRatio (called VB) behave different with
constrained transformations as user transformations (called U) and
transformations inside the document (called CTM) .

I already tried to understand this in detail to create some tests related
to animation, if I understand it correct:
To see, what happens, one has to analyse, how the the resulting
transformations  are derived from inverse matrices and how the
different transformations have to be combined to get the final effect
(one has to note too, that not all matrices have an inverse, but the
effect of constrained transformations is still defined/possible).

If you are not familiar with matrices:
If A is a matrix and B its inverse and I the identity, then:
AB = I = BA (and AI= A = IA for any A).
In general it is not XY=YX for matrices X,Y, therefore
care has to be taken, how they are multiplied.
```
Received on Thursday, 15 November 2007 14:03:12 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:12 UTC