- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Tue, 07 Sep 2010 13:50:42 -0700
- To: "www-style@w3.org" <www-style@w3.org>
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.) ~fantasai
Received on Tuesday, 7 September 2010 20:51:20 UTC