W3C home > Mailing lists > Public > whatwg@whatwg.org > July 2010

[whatwg] Canvas transform() and matrix element notation

From: David Flanagan <david@davidflanagan.com>
Date: Mon, 19 Jul 2010 13:13:27 -0700
Message-ID: <4C44B1E7.1030408@davidflanagan.com>
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.  This surprises me, and I want to check that 
it is not an inadvertent error:

1) Wikipedia says (http://en.wikipedia.org/wiki/Matrix_multiplication) 
that the convention is to list row numbers first

2) Java's java.awt.geom.AffineTransform class also lists the row index 
first, as in the following javadoc excerpt:

>         [ x']   [  m00  m01  m02  ] [ x ]   [ m00x + m01y + m02 ]
>         [ y'] = [  m10  m11  m12  ] [ y ] = [ m10x + m11y + m12 ]
>         [ 1 ]   [   0    0    1   ] [ 1 ]   [         1         ]

It would be nice if this spec was not inconsistent with other usage. 
Even changing the argument names to neutral a,b,c,d,dx,dy would be 
better than what is there currently.

	David
Received on Monday, 19 July 2010 13:13:27 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:25 UTC