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

```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.
```

Received on Tuesday, 7 September 2010 22:48:52 UTC