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

Re: [css3-2d-transforms] Interop: matrix() values e,f <number> or <length>

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Thu, 18 Nov 2010 09:58:32 -0500
Message-ID: <4CE53F18.3000405@mit.edu>
To: Chris Marrin <cmarrin@apple.com>
CC: www-style list <www-style@w3.org>
On 11/18/10 9:50 AM, Chris Marrin wrote:
> I agree that the matrix() should be unitless, and not because of its mathematical "correctness". I just think it is confusing to authors to require units in 2 parameters and not the others.

But it's not confusing that some of the entries act like pixel lengths 
while others do not, even though they all don't have units?

> Think about matrix() for 3D transforms. There you pass 16 numbers. Parameters m41, m42 and m43 typically represent the translation of the coordinates. Should those 3 parameters be required to have units, but the other 13 are required to have no units?

Imo, yes.

> That's very confusing.

It's only confusing if you have a particular mental model involving 
projective coordinates in mind.  Of course matrix() as a whole is 
probably pretty darned confusing for authors, complete with its "weird" 
element ordering, etc.

> If you're using matrix() you're doing some (possibly very complex) math, so you should provide no units.

How does that follow?  If _I_'m using matrix() in a web page, I'm 
probably doing math in support of some physics, personally, and I better 
be using correct units everywhere to stay sane instead of having units 
magically implied somewhere!

-Boris
Received on Thursday, 18 November 2010 14:59:09 GMT

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