- From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
- Date: Wed, 16 Dec 2009 16:49:05 +0100
- To: www-style@w3.org
Hello, this comment is about http://www.w3.org/TR/2009/WD-css3-2d-transforms-20091201/ In '7. Matrix decomposition for animation' it is noted: 'The pseudocode below works on a 4x4 homogeneous matrix. A 3x2 2D matrix is therefore first converted to 4x4 homogeneous form.' Should it not be noted, how to transform a 3x2 into a 4x4 matrix and back again into 3x2, because 3x2 seems to be used only for 2d-transforms? What are the relations between the given numbers a to f to the 4x4 matrix used to decompose the 3x2 matrix? What are the relations between the a to f (respectively the 3x2 matrices and 2d-transformations) to the transform functions mentioned at the end of 7. : matrix3d(1,0,0,0, 0,1,0,0, 0,0,1,0, perspective[0], perspective[1], perspective[2], perspective[3]) translate3d(translation[0], translation[1], translation[2]) rotateX(rotation[0]) rotateY(rotation[1]) rotateZ(rotation[2]) matrix3d(1,0,0,0, 0,1,0,0, 0,skew[2],1,0, 0,0,0,1) matrix3d(1,0,0,0, 0,1,0,0, skew[1],0,1,0, 0,0,0,1) matrix3d(1,0,0,0, skew[0],1,0,0, 0,0,1,0, 0,0,0,1) scale3d(scale[0], scale[1], scale[2]) How those are related to the transform functions defined in the 2d-draft? Is it required to implement 3d-transfroms before doing 2d-transforms? This does not fit to what is mentioned in CSS3 3d-transforms: 'CSS 3D Transforms extends CSS Transforms '. Additionally in 8.1 is is noted 'The CSSMatrix interface represents a 4x4 homogeneous matrix.' but the interface descriptions contains only the six values as defined in 4. Wouldn't it be useful to decide once and forever, what is relevant for CSS3-2d-transforms? 3x2 matrices or 4x4 matrices? As already discussed before, I still think, this complex animation type for matrix is not very transparent for authors compared to a simple type with interpolation between the given values. To approximate an own transformation function with a matrix will surely be simpler with a simple interpolation instead of such a decomposition. To get a predictable approximation authors always have to simulate this complex decomposition, this looks like a lot of work for those authors to implement something, they are not interested in, just to see how many (presumable a lot!) animation values are needed to get the intended effect with a predefined accuracy. On the other hand, as some mentioned already, this decompositon method may result in something nice looking for those authors, who do not really know, what they are doing (Hmmm - why should those authors animate the matrix type at all, if they do not understand it? Why should they expect something nice/simple/useful, if they do not know, what they are doing? ;o) Therefore I would like to propose to introduce a property to switch between decomposition and simple interpolation, if there are really use cases for this decomposition are known by someone. This avoids a lot of work for those authors, who know what they want and will be no problem for those, who do not really care, what the animation effect is. Simple interpolation would be compatible to SMIL animation as well , because this interpolates always between the values. Authors already familiar with SMIL animation just have to switch to simple interpolation to work with an interpolation method, that they already know and that is used for many years already. Olaf
Received on Wednesday, 16 December 2009 15:56:20 UTC