- 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

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