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

Re: Linear gradients, Transforms and angles...

From: Brad Kemper <brad.kemper@gmail.com>
Date: Wed, 22 Sep 2010 08:22:31 -0700
Cc: www-style list <www-style@w3.org>
Message-Id: <DF30C004-B65C-4D62-BEC0-3078DB7ABD7A@gmail.com>
To: Chris Marrin <cmarrin@apple.com>

On Sep 21, 2010, at 3:53 PM, Chris Marrin wrote:

> 
> On Sep 21, 2010, at 11:21 AM, Brad Kemper wrote:
> 
>> 
>> On Sep 21, 2010, at 10:31 AM, Chris Marrin <cmarrin@apple.com> wrote:
>> 
>>> 
>>> On Sep 20, 2010, at 7:29 PM, Brad Kemper wrote:
>>> 
>>>> 
>>>> 
>>>> On Sep 20, 2010, at 2:01 PM, Chris Marrin <cmarrin@apple.com> wrote:
>>>> 
>>>>>> This author's expectations are that 90deg should be upward for a linear direction specified in degrees. All my prior experience in life before learning how programmers think reinforce that expectation. 
>>>>> 
>>>>> Angle is a concept that I believe is fairly new to CSS, so I don't think there is much of a precedent here.
>>>> 
>>>> Yes, but there is an long-time, pre-CSS precedent for specifying linear directions in the manner printed on traditional protractors.
>>> 
>>> And there is a long tradition in mathematics of the positive Y axis going up. But in HTML the Y axis goes down, because of the (western) tradition of reading from top to bottom.
>> 
>> I don't see how that is relevant to traditions of angle-based linear directions. You can still have 0deg=left-to-right and 90deg=bottom-to-top when y++ progresses downward. .
> 
> I've gone back and reread the thread: http://lists.w3.org/Archives/Public/www-style/2010Sep/0169.html to try and understand your point of view. It seems that you're simply arguing that the <angle> parameter of the linear-gradient() function should specify counter-clockwise angles, which is what the spec implies today.

Right.

> Fantasai started that thread by asserting that this is contrary to every other use of angle in HTML, which are all clockwise.

"Every other use of angle in HTML" that specifies linear direction instead of rotation, which I consider to be fundamentally different concepts? How many of those uses are there? I'm not aware of any in HTML, and only of linear gradients in SVG and in the Canvas draft.

> But the only justification you've provided is the fact that you have a protractor that shows counterclockwise angles. But I have a compass which shows clockwise angles. So which system is better?
> 
> I think we have to say that consistency of the technologies in HTML trumps high school geometry.

Every physical protractor and geometry text I've seen follows the same convention. The only other picture I've seen of a 360 protractor that goes the other way is an SVG file on Wikipedia (probably created by someone who wanted to use it to pick gradients for SVG). 

PhotoShop, the gold standard of image editors, uses 90 to mean "bottom to top" for its gradients, as does Adobe Illustrator, InDesign, Apple Pages, Apple Keynote, and Corel Draw. Why did they pick that? Because it is intuitive, and fits common expectations (formed, no doubt, by reading high school geometry books). I wouldn't be surprised if the tradition went back to ancient Greece or earlier.

PhotoShop and Illustrator (at least), like HTML, have coordinate systems in which the Y-axis progresses the positive numbers downward and the negative numbers upwards. This did not stop them from using the common and familiar method of specifying linear direction on their gradients.
Received on Wednesday, 22 September 2010 15:29:30 GMT

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