W3C home > Mailing lists > Public > public-svg-wg@w3.org > July to September 2011

Re: Updated Summary of Discussions about FX work items

From: Alex Danilo <alex@abbra.com>
Date: Fri, 01 Jul 2011 11:19:06 +1000
Message-Id: <UNRMNL.B5MFDI26OLEN@abbra.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: Vincent Hardy <vhardy@adobe.com>, Erik Dahlstrom <ed@opera.com>, "public-svg-wg@w3.org" <public-svg-wg@w3.org>
Hi TJ,

	The reason I didn't comment on www-style was because I am
not interested in debating this. I'll implement whatever is decided
but that doesn't mean I think it's correct.

	A few comments inline:

--Original Message--:
>On Thu, Jun 30, 2011 at 4:24 PM, Alex Danilo <alex@abbra.com> wrote:
>> However,  there's been a large thread on www-style that I've stayed away from that
>> relates to the angles used for CSS gradients.
>> CSS3 gradients is specifying 0 degrees to be vertical, i'e. poiting up along the Y axis.
>> Their rationale is that it's like a compass.
>> SVG uses the X-axis as 0 degrees, like in maths, architectural drawing and many other
>> things.
>> The angle concept in CSS gradients is incompatible with SVG's model so perhaps someone
>> who is in both domains can point this out to them.
>The decision to use bearing angles (0deg is up, positive is CW) was
>based on overwhelming preference for it expressed in a poll of authors
>which got about 100 responses.

A statistician would take the 100 responses against the potential number
of authors and classify that result as having  a _very_ low confidence interval.

A sweeping generalization could be that those 100  responses were from
people that flunked math, didn't do any technical drawing or tried to build
a driveway with an elevation of 5 degrees then promptly drove off a cliff...

>Where precisely are angles used in SVG?  So far I've found the following:
>1. glyph-orientation-*
>2. rotate
>3. translate (the rotate() and skew*() commands)
>4. azimuth
>5. elevation
>6. orient
>7. d (the elliptical arc commands)
>In 1-3 and 6-7, the angle indicates a CW rotation, not a direction.
>This is compatible with angles in linear-gradient().
>In 4 and 5, the angle indicates a direction.  4 indicates a CW
>rotation from the x axis, which is slightly incompatible with angles
>in linear-gradient().  5 indicates a rotation from the plane of the
>screen toward the viewer, which can't be compared with angles in

If you do orienteering and your world is a compass then it makes some sense.
If you do maths, or engineering drawing or are a builder, architect, plane
designer looking at your cockpit indicators you might consider 0 degrees
to be in the horizontal plane.

SVG gradients:


When linear with _no_ explicit direction specified assume:
x1, y1, y2 == 0%
x2 == 100%

i.e. a vector in the horizontal direction.

Applying a gradientTransform of rotate(5) would rotate the gradient
5 degrees from the horiztonal plane.

Thus, this is different enough that authors would get confused.

How many of your 100 respondents have authored any SVG gradient markup?
It would be nice to know.

Regardless, some people in the world went to school and they were taught
about radians, polar co-ordinates amongst many other things, see:


All these co-ordinate systems make 0 degrees along the X-axis
or horizontal if you prefer.

As I said, someone who is on both groups should take this up. I
do truly believe that if I told my high school maths teacher that 0
degrees was up, I would get beaten about the head. They would
then probably grab my ear, say "look at the compass you idiot", 
and point out that North (0 degrees) required me to walk horizontally
along the earth and that I couldn't fly.


Received on Friday, 1 July 2011 01:20:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:29:46 UTC