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

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 UTC