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

Re: [css3-images] [css3-values] Inconsistent Angles

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 7 Sep 2010 15:58:24 -0700
Message-ID: <AANLkTim6qm18XujYNfqFX4LwnVtF+Ep0fPSqtJcez7x1@mail.gmail.com>
To: Brad Kemper <brad.kemper@gmail.com>
Cc: fantasai <fantasai.lists@inkedblade.net>, "www-style@w3.org" <www-style@w3.org>
On Tue, Sep 7, 2010 at 3:46 PM, Brad Kemper <brad.kemper@gmail.com> wrote:
> Brad Kemper
> On Sep 7, 2010, at 2:20 PM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote:
>> On Tue, Sep 7, 2010 at 1:50 PM, fantasai <fantasai.lists@inkedblade.net> wrote:
>>> We seem to have multiple notions of how angles should work.
>>>
>>> There are two commonly-taught methods of mapping angles to directions:
>>>  - the Bearing Angle Method
>>>  - the Cartesian Angle Method
>>> There are other methods of mapping angles to directions:
>>>  - the Graphical Angle Method
>>>
>>> Bearing Angle Method:
>>>  - Used for compass bearings
>>>  - Zero degrees points north/up
>>>  - Angles increase clockwise
>>>  - Used by the following properties:
>>>      azimuth (CSS2)
>>>      glyph-orientation (SVG, XSL)
>>>      image-orientation (Paged Media)
>>>
>>> Cartesian Angle Method:
>>>  - Determined by arctan(slope) in a Cartesian coordinate system with
>>>      x-values increasing rightwards and y-values increasing upwards
>>>  - Zero degrees points right
>>>  - Angles increase counter-clockwise
>>>  - Used by the following:
>>>      CSS gradient notation (implied by illustrations in CSS3 Images)
>>>
>>> Graphical Angle Method
>>>  - Determined by arctan(slope) in a graphics coordinate system with
>>>      x-values increasing rightwards and y-values increasing downwards
>>>  - Zero degrees points right
>>>  - Angles increase clockwise
>>>  - Used implicity by the following:
>>>      Scalable Vector Graphics (SVG)
>>>      CSS 2D Transforms
>>>
>>> Of the two that fall under the Graphical Angle method, afaict neither
>>> uses absolute angles -- the zero point doesn't matter, only the clockwise
>>> increase. Which makes SVG and Transforms compatible with the Bearing Angle
>>> Method from a user perspective.
>>>
>>> This makes the gradient syntax the odd one out. Therefore its use of angles
>>> should be
>>>  a) defined in the prose somewhere instead of implied by illustration
>>>  b) use the Bearing Angle Method, i.e. 0deg points up and angles increase
>>>     clockwise
>>>
>>> Furthermore, the CSS3 Values and Units module should make this convention
>>> explicit so that later spec-writers don't make the same mistake. (Also,
>>> the outdated reference to ACSS and the 0-360 normalization requirement
>>> should be removed.)
>>
>> Argh, I was hoping I could avoid this, but it seems like I maybe can't.  ;_;
>>
>> Anybody have any strong objection to me switching the <angle>
>> reference to Bearing Angles?
>>
>> ~TJ
>>
>
> Yes.

Yes, you have a strong objection?  Can you elaborate?

I get the feeling that enough things use the "clockwise is positive"
rule that it would be a losing battle to try and fight it - we'll just
end up making the platform inconsistent, rather than shifting momentum
in our preferred direction.  Once that battle has been lost, I don't
have a strong opinion on where 0deg should point, so having it point
up is fine with me.  I suspect that's the most intuitive direction for
it.

~TJ
Received on Tuesday, 7 September 2010 22:59:17 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:31 GMT