W3C home > Mailing lists > Public > www-style@w3.org > March 2009

[css3-2d-transforms] matrix animation

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Wed, 25 Mar 2009 14:49:04 +0100
To: www-style@w3.org
Message-Id: <200903251449.04259.Dr.O.Hoffmann@gmx.de>
Hello,

this comment applies to 3d-transforms as well:
http://www.w3.org/TR/2009/WD-css3-2d-transforms-20090320/#animation
http://www.w3.org/TR/2009/WD-css3-3d-transforms-20090320/#animation


I think, it is not a good idea, that a matrix is decomposed in an (arbitrary)
set of other transformations for animation purposes, because:
1. Authors should have the choice. If they need a (non) arbitrary set of
other transformations, they can simply write down these sets instead of a
matrix. If they need an animation between two matrices, it is the simplest
idea to write down exactly two matrices.
2. Interpolation between the matrix components within the animation 
results in different effects than with a decomposition and animation of
each decomposition transformation. Matrix animation can be interesting 
for authors too, but is currently not available, if the matrix is decomposed
before the animation interpolation takes place.
3. The decomposition is almost opaque for the author, the author has 
no control over this. And it cannot be expected, that authors have to learn
c to understand, what happens. The separation in his own set of
transformations including matrices without any manipulation ensures
transparency and complete control for the author.
4. As far as I understand the source code referenced for the decomposition,
this can introduce unneccessary mathematical problems. I'm not a 
c-programmer, I use other programming languages, but as far as I understand
the code, it makes use of a matrix inversion do get the decomposition.
Within the animation (especially if a given value is somehow mirrored), there
may appear matrices without an inverse, for them there is obviously no
decomposition with this code.
With skewing it is possible too to have infinite matrix elements, if a
transform list is converted into a matrix and decomposed again, this may
result in an undefined matrix.
5. There is no real benefit for authors with this decomposition, I think this
is only introduced to simplify the life of implementors without any 
usecase not avialable without the decomposition, therefore there is no
loss, if this is skipped.

To resume, I suggest to skip the decomposition idea completely. This 
avoids mathematical problems and paternalism of authors.

Best wishes

Olaf
Received on Wednesday, 25 March 2009 13:54:14 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:17 GMT