- From: Dean Jackson <dino@apple.com>
- Date: Thu, 3 Dec 2009 10:45:15 +1100
- To: L. David Baron <dbaron@dbaron.org>
- Cc: www-style@w3.org
On 03/12/2009, at 6:58 AM, L. David Baron wrote:
> http://dev.w3.org/csswg/css3-2d-transforms/#animation says that an
> animation of skewX(), skewY(), or skew() is animation in the space
> of angles.
>
> In other words, it says that the midpoint (along the transition
> function, not necessarily in terms of time) of an animation between
> skewX(0) and skewX(60deg) is skewX(30deg).
>
> I think it would make more sense if the animation of these functions
> were in the space of the tangent of the angles (which seems like
> it's a common representation of such transformations, see, e.g.,
> http://en.wikipedia.org/wiki/Shear_mapping ). In other words, the
> midpoint of the animation between skewX(0) and skewX(60deg) should
> be skewX(40.8934deg), because at this angle any point is transformed
> to a position halfway between where it would be at skewX(0) and
> where it would be at skewX(60deg), since atan(tan(60deg)/2) ==
> 40.8934deg.
Would this make a "linear" animation appear as if it isn't linear (ie. it would look like it slows down or speeds up)? If so, I think it might be confusing.
Suppose you are animating another object with a translation to match the skew end point. With your suggestion it would be extremely hard to have them line up. Bad attempt at ascii art below:
********
********
/-------/
/ /
/ /
/-------/
Two objects (one is a skewed box, the other is a rectangle of asterisks). I want to animate the skew back to 0degs, and translate the rectangle at the same time.
Dean
Received on Wednesday, 2 December 2009 23:45:51 UTC