[css3-transforms] rendering of objects transformed with non-invertable matrix

Hello,  

this is about:
http://www.w3.org/TR/2012/WD-css3-transforms-20120403/#animation

In the last paragraph of 15. it is mentioned:
[In some cases, an animation might cause a transformation matrix to be 
singular or non-invertible. For example, an animation in which scale moves 
from 1 to -1. At the time when the matrix is in such a state, the transformed 
element is not rendered.]

Because SVG tiny 1.2 has and maybe future versions of SVG will 
have the property vector-effect="non-scaling-stroke", it is a real use 
case to have objects, transformed to 1D or 0D objects, which remain 
visible, for example with this one can create a simple presentation of 
an 1D harmonic oscillator, using rotation, one direction transformed to
zero.

Therefore I think, it is not a good idea to say that the object is not
rendered, because this will not be the effect intended by the author
and there is no simple workaround to get the same effect with
another method.

Indeed, because for animation there is no need to invert a matrix
at all - the problem with the inversions seem to be only an artifact
of 16.1., not related to the intended animation effect, I suggest to
skip this paragraph.  For example, nothing specific happens at 0,
if one scales from 1 to -1 - there is no reason not to render the 
object continuously for such an animation.

Maybe this is already an indication, that 16.1 should be improved,
if it introduces problems, that have nothing to do with the intended
animation effect (it is a well known thing, that one should avoid 
numerical matrix inversion, if possible; the inversion algorithm may
already cause trouble around the situation, where it becomes
non-invertable, resulting in funny numerical artifacts) ...



Best wishes

Olaf

Received on Sunday, 22 April 2012 16:14:36 UTC