W3C home > Mailing lists > Public > www-style@w3.org > June 2010

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

From: Paul Duffin <pduffin@volantis.com>
Date: Wed, 2 Jun 2010 10:11:56 -0600 (MDT)
To: Brendan Kenny <bckenny@gmail.com>
Cc: www-style@w3.org, public-fx@w3.org
Message-ID: <242836848.508421275495116548.JavaMail.root@zimbra.volantis.com>
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

This archive was generated by hypermail 2.4.0 : Monday, 23 January 2023 02:13:47 UTC