Re: [css3-transforms] neutral element for addition - by animation


one just has to look on the values.
For transforms (animateTransform) one either has
scalars or list of scalars.
For a scalar the neutral element is 0.
If you have a list of two numbers, the neutral element is 0,0;
for a list of three numbers you have 0,0,0.
If a matrix (currently not animatable in SVG 1.1.2 and SVG tiny 1.2)
is represented as a value of six numbers, one simply gets
This requires only the assumption, that each number in the
list can be used for the general concept of adding numbers.
The main adavantage of this approach is, that for most parts
of SMIL animation one does not have to care about the question,
what the numbers mean - one can transform all values with 
units to a unitsless number representation and calculate the animation

There are only a few exceptions:
a) paced animation - this requires a meaningful distance function.
This depends on the meaning of the attribute/property, if it is more
complex than a scalar. Sometimes/often there is no such distance
function for more complex values.
b) animateTransform with postmultiplication - well, this is no SMIL
at all, this is specific for SVG, however one can do the animation
calculation as defined in SMIL including cumulative effects as
expected, one just has to postmultiply the animation effect to the
underlying value instead of adding it.  
c) to-animateTransform, a problem specific for SVG as well, typically
one can follow SMIL to get a more or less meaninful result.
But the SVG WG left it open to define in more detail to get more
meaningful results in some special cases.

Obviously, if one starts to animate between arbitrary strings, as
suggested with the CSS transform property proposal, one has 
to explain, how to generate a list of numbers from such a string, 
then this approach is applicable, else one can do only discrete animation.
I think, other approaches are not related to the general SMIL
approach and are another type of animation.


Received on Tuesday, 29 May 2012 09:37:21 UTC