Yes, I concur with Samy about the utility of such things. It will make people's lives simpler by allowing some of what would otherwise have to be handled with script to be handled more declaratively.
I had a chance to look at the CSS stuff for 2D and 3D (haven't gotten to the animation stuff yet) and it looks just like what one would want to have given a natural extension of the SVG stuff into CSS and a natural extension of the SVG transforms into 3D. I like the idea of having access to some of the power of SVG in HTML and CSS seems like a natural place to put some of that.
One thing that I have thought for some time is that for some users of SVG it would be nice to have transform operations that allow us to fix certain points by their "cognitive handles" rather than their Cartesian ones.
For example, instead of rotate(90, x, y) where we have to know what (x,y) we want why not rotate(90, center) where center is defined as the geographic center (the bivariate mean) of the curve or rotate (90, bcenter) where bcenter would be the center of the bounding box enclosing the curve.
Likewise for distortions and the like: allow the user to define an edge or a set of three points, or even a set of four points (as in http://srufaculty.sru.edu/david.dailey/svg/clipdrag12.svg)
, that will remain fixed and then also allow them to specify where the remaining point set will go. What I have in mind is sort of like using the two-point equation for a line rather than the slope intercept. slope intercept might be easier for the programmer; two-point might be easier for the designer.
I'm thinking here of the GUI that Photoshop gives for distorting things. I think the perspective projection matrix in the 3D spec is a step in the direction I'm thinking, but there might be more intuitive interfaces for those who hand code.
Other than that, yeah! Looks great! Am anxious to look into the animation stuff too.
Should we be cc-ing these discussions anywhere (like to the relevant working groups)?
----- Original Message -----
From: Samuel Dagan
Sent: Saturday, February 28, 2009 2:50 PM
Subject: [svg-developers] Re: More on WebKit, CSS Animation and SVG
I was unaware of the www-svg team development of 3D. Thank you Doug
for the information! In my online calculus course
I had to script 3D rotations and to project them to the SVG x-y plane.
An orthogonal projection (without perspective) was sufficient for my
One good example could be seen (without any registration) at
with Firefox3, Opera9.5 and even with IE+ASV. It required a none
trivial scripting, and I hope that in less than a couple of years the
SVG developers will have an easier life. Here are some interesting points:
1. First everything is rotated about the x-axis in a way that the new
y and z axes are kept rigid with the paraboloid. This rotation shows
also the projections of the parabolas (quadratic Bezier paths).
2. Next there is an interactive rotation about the previously obtained
z-axis. The projections of the parabolas are also seen.
3. In the next stage, disks of tangent planes are shown. The discs are
projected on the SVG plane as ellipses with different small radii and
different slopes of the large equal sized diameters.
--- In email@example.com, Doug Schepers <doug@...> wrote:
> Hi, Folks-
> Oh, and yes, in case you didn't know it, this does mean that SVG
> adding non-affine transformations. We usually refer to them as
> "perspective transforms" or "2.5D transforms" or sometimes (a bit less
> accurately) "3D transforms". You can read our editor's draft here:
> It will be interesting to hear your feedback on any of this.
[Non-text portions of this message have been removed]