RE: [css3-transform] definition of skewing

I agree.
Skew is not that useful of a transformation. We just brought it up because the spec doesn't seem consistent.

The rotate(a, b) seems more useful, but maybe that is just because our clients use this feature often in Flash animations. :-)
If the effect is better if it is done with 3d (like Simon's example), we can document it for our users.

Rik

-----Original Message-----
From: Chris Marrin [mailto:cmarrin@apple.com] 
Sent: Friday, January 21, 2011 11:32 AM
To: Dan Clark
Cc: Rik Cabanier; Simon Fraser; www-style@w3.org
Subject: Re: [css3-transform] definition of skewing


On Jan 18, 2011, at 5:46 PM, Dan Clark wrote:

> 
> So we're saying that
> 
> SkewX(60deg) * SkewY(20deg) != SkewY(20deg) * SkewX(60deg) != 
> SkewXY(60deg,
> 20deg)
> 
> So I cant get the equivalent of Skew(x,y) using a combo of Skew(x) and 
> Skew(y).
> So why do we want to disallow it?

To be honest, the biggest reason is because SVGMatrix doesn't have it and we don't want to go any further down this path. You've shown the simple math for getting a skew effect in a 2D matrix. I've seen a different parameterization which uses a "scaleOrientation" which is the angle about which the scale is applied. It effectively rotates the object by that amount, applies scale and then rotates it back. You get the same skewing effect, but for some purposes it gives you better control.

To be honest, I wish SVG didn't have skew at all. It's just one narrow use case, that can be done (like all the other specialized use cases) in JavaScript using the matrix() operator.

-----
~Chris
cmarrin@apple.com

Received on Friday, 21 January 2011 21:04:34 UTC