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

Reply via email to