[whatwg] Canvas transform() and matrix element notation
David Flanagan
david at davidflanagan.com
Mon Jul 19 14:33:01 PDT 2010
Boris Zbarsky wrote:
> On 7/19/10 4:13 PM, David Flanagan wrote:
>> The spec describes the transform() method as follows:
>>
>>> The transform(m11, m12, m21, m22, dx, dy) method must multiply the
>>> current transformation matrix with the matrix described by:
>>>
>>> m11 m21 dx
>>> m12 m22 dy
>>> 0 0 1
>>
>> The first number in these argument names is the column number and the
>> second is the row number.
>
> I agree that this is somewhat weird at first glance, but it seems to be
> not uncommon for graphics libraries. For example, for cairo the call
>
> cairo_matrix_init(m, a, b, c, d, e, f);
>
> creates a matrix which represents the affine transformation [1]:
>
> x_new = a*x + c*y + e;
> y_new = b*x + d*y + f;
>
Thanks for checking this; it is nice to know that there is precedent for
the argument order. Changing the argument names to remove the numbers
from them would make the spec less confusing. Or at least changing the
argument names so that they use (standard?) row,column indexing instead
of column,row indexing.
David
More information about the whatwg
mailing list