RE: [css3-transform] definition of skewing

Yes,



Rotate is always around the transformation point.



Rotate(a) is defined through the matrix:

| cos(a) -sin(a) 0 |

| sin(a) cos(a)  0 |

| 0        0          1 |



Rotate(a, b) would be defined as:

| cos(a) -sin(b) 0 |

| sin(a) cos(b)  0 |

| 0        0          1 |



This type of animation is often used in Flash to give the appearance of an object that turns into view.



Also, I believe that there should be a skew(x, y).

The way the formulas are currently defined, there is no easy way to correctly do a shear in 2 dimensions since the second shear will impact the first one.

There should either be a skew(x, y) or the recomposition logic should be rewritten.



Rik


From: Simon Fraser [mailto:smfr@me.com]
Sent: Wednesday, January 12, 2011 10:19 PM
To: Rik Cabanier
Cc: www-style@w3.org
Subject: Re: [css3-transform] definition of skewing

On Jan 12, 2011, at 9:58 pm, Rik Cabanier wrote:


I agree that if you want to follow the SVG spec, skew is well defined.
Why would you object to have 2 parameters for rotate? It seems like a useful effect to have and not that different from the existing rotate.

We're trying to keep CSS and SVG transforms as similar as possible; in fact, via the FX Task Force, we'd like to end up with a single spec for both eventually.


Rotate(45, 45) would result in the same effect as rotate(45)

I don't see how that works at all. Rotation is defined as being around a point. How can you have different angles for the two axes?


The spec still says that skew(x, y) is still valid so maybe it should be updated.

It's been removed from the editor's draft:
<http://dev.w3.org/csswg/css3-2d-transforms/>

Simon

Received on Thursday, 13 January 2011 20:22:59 UTC