W3C home > Mailing lists > Public > www-style@w3.org > August 2009

Re: Gradient syntax proposal

From: Brad Kemper <brad.kemper@gmail.com>
Date: Fri, 14 Aug 2009 08:27:10 -0700
Cc: Řyvind Stenhaug <oyvinds@opera.com>, www-style@w3.org
Message-Id: <48B4A565-F541-421F-A9F0-FE5D5B370C88@gmail.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>

On Aug 14, 2009, at 7:46 AM, Tab Atkins Jr. wrote:

> On Fri, Aug 14, 2009 at 6:33 AM, Řyvind Stenhaug<oyvinds@opera.com>  
> wrote:
>> On Fri, 14 Aug 2009 01:35:56 +0200, Tab Atkins Jr. <jackalmage@gmail.com 
>> >
>> wrote:
>>
>>> Just linear gradients for now:
>>>
>>>
>>> http://www.xanthir.com/document/document.php?id=d65df9d10442ef96c2dfe5e1d7bbebf7aa42f2bcf24e68fc3777c4b484fa8a4ce55fed2189cac20ccad8686127f4c08917c4ca8b7614e9f89c2a950ec083a9c6
>>
>> Maybe the coordinate system for angles was intentionally chosen  
>> this way
>> because of consistency with Photoshop or something (I'm not  
>> familiar with
>> it), but I thought I'd point out that it differs from CSS  
>> transforms (where
>> positive angles are clockwise).
>>
>> (The proposal doesn't specify a coordinate system, so I inferred it  
>> from
>> what would make most sense given the pairings of angle intervals  
>> and corner
>> starting points.)
>
> Damns, really?  That's no good.  I don't remember enough of my linear
> algebra to be able to interpret the rotation matrix in that spec.
>
> I chose that coordinate system (0deg is East, positive angles are CCW)
> because that's what was drilled into me through every single math
> course I've ever taken.  Every polar equation I worked with used that
> system to specify theta.

Degrees are what they are. Zero is to the right of your starting point  
and 180 is to the left. They are not interchangeable. You have it  
correct. Just like on the plastic protractors you can buy anywhere.  
The CSS Angle definition does not say any differently[1]. For  
rotation, one can specify clockwise or counterclockwise, and can even  
specify that as the default for a particular spec that deals with  
motion, but you are not specifying a rotation, you are specifying an  
angle for a linear direction.

> I don't want to purposely break compat with another spec, but if
> Transforms really specifies positive angles as clockwise, then I think
> a *lot* of people are going to be *very* confused.  If at all possible
> I'd prefer to get that changed in Transforms.

I don't think Transforms needs to change. They are using angles to  
describe the degree of rotational transformation, not a static linear  
direction. That spec does not mention direction normatively, but does  
in examples[2], and it refers[3] to the SVG spec regarding "coordinate  
system transformations"[4]. I don't pretend to understand the math in  
that part, but it apparently results in clockwise motion for  
"rotation" when used with positive angles of less than 360 degrees  
(I'm don't know, offhand, what it does with degrees more than 360  
degrees, but that's a different conversation).

1. http://www.w3.org/TR/2006/WD-css3-values-20060919/#angles
2.http://www.w3.org/TR/2009/WD-css3-2d-transforms-20090320/#transform-values
3. http://www.w3.org/TR/2009/WD-css3-2d-transforms-20090320/#introduction
4. http://www.w3.org/TR/SVG/coords.html#RotationDefined
Received on Friday, 14 August 2009 15:27:54 GMT

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