Re: [css3-2d-transforms] skew(a,b)

Thanks.

----- "Brendan Kenny" <bckenny@gmail.com> wrote:

> On Wed, Jun 2, 2010 at 10:33 AM, Paul Duffin <pduffin@volantis.com>
> wrote:
> > The specification of skew(a,b) refers to the SVG specification but
> that does not provide an equivalent matrix.
> >
> > Assuming
> >  A = tan(a)
> >  B = tan(b)
> >
> > skewX(a) is equal to the matrix:
> >
> > [1 A 0]
> > [0 1 0]
> > [0 0 1]
> >
> > skewY(b) is equal to the matrix:
> >
> > [1 0 0]
> > [B 1 0]
> > [0 0 1]
> >
> > skewX(a) x skewY(b) is equal to the matrix:
> >
> > [AB+1    A    0]
> > [   B    1    0]
> > [   0    0    1]
> >
> > skewY(b) x skewX(A) is equal to the matrix:
> >
> > [   1    A    0]
> > [   B AB+1    0]
> > [   0    0    1]
> >
> > But I think that (based on my research on chrome (webkit)) that
> skew(a,b) should be:
> > [1 A 0]
> > [B 1 0]
> > [0 0 1]
> >
> > It certainly makes sense.
> >
> 
> My understanding is that the two-argument form of skew() will be
> removed from the next version of the spec. I don't know the actual
> basis for that decision, but one problem is that the last matrix you
> mentioned -- the one I think most people assume after the definitions
> of skewX() and skewY() -- is not actually a skew matrix; for
> instance,
> a skew preserves area, but that matrix does not.
> 
> That leaves the two previous matrices, but since either one is a
> reasonable choice, letting the user explicitly specify the order is
> probably the best approach.

Received on Wednesday, 2 June 2010 16:12:36 UTC