Re: [css3-transforms] Multiplication order

On 11/11/12 9:12 AM, Dirk Schulze wrote:
> On Nov 11, 2012, at 8:03 AM, Boris Zbarsky <bzbarsky@MIT.EDU> wrote:
>> http://lists.w3.org/Archives/Public/www-style/2011May/0633.html and
>
> This is addressed in the specification.

Which "this"?  You seem to be talking about the second issue raised in 
the above mail, while Simon's problem is with the first issue.

> The mathematical description section defines how the transformation function gets "translated" into a 4x4 matrix.

Yes.  What it doesn't define is how that matrix actually acts on points.

> Simon correctly pointed to the section "The Transform Rendering Model"[1] that describes how to multiply transformation functions:
>
> ""
> 	• Start with the identity matrix.
> 	• Translate by the computed X, Y and Z values of ‘transform-origin’
> 	• Multiply by each of the transform functions in ‘transform’ property from left to right
> ""

Simon's point is that "multiply" can be done in two different ways and 
the spec does not actually clearly define which way to use.

> To get the local transformation matrix of the current element you do the following (note local transformation matrices transform the local coordinate space and are not the CTM):

Ah, yes.  For the transformation on coordinate space, you multiply in 
the opposite order from the transformation on points.

> That is what the specification says, no?

Sort of.  I still think the text in section 6 should be more explicit 
about the multiplication instead of relying on other parts of the spec 
to actually explain what it means.

-Boris

Received on Monday, 12 November 2012 07:32:47 UTC