w3c / csswg-drafts

CSS Working Group Editor Drafts
https://drafts.csswg.org/
Other
4.48k stars 659 forks source link

[css-transforms-2] Clarify use of matrices by columns in pseudo-code #924

Open smfr opened 7 years ago

smfr commented 7 years ago

https://lists.w3.org/Archives/Public/public-fx/2014OctDec/0134.html

Hi, Any particular reason to have matrix internally represented by array of columns in pseudo-code?

I think is more common to have them by row, but it may be better like that.

Anyway please make it clearer that you’re using M[col][row], cause I could guess it only from 2d decomposition code: translate[0] = matrix[3][0] translate[1] = matrix[3][1] Where tx is m14 and ty is m24.

Also few lines below in 3d decomposition: for (i = 0; i < 3; i++) row[i][0] = matrix[i][0] row[i][1] = matrix[i][1] row[i][2] = matrix[i][2] This is completely confusing: we are trying to obtain a 3x4 sub-matrix or a 4x3 one? The name of the variable (row) makes me think of an array of rows, while row[i] will contain m0i, m1i, m2i instead, so those are the first 3 columns of the transform matrix, am i wrong?

One minor misprint here: cross function (that should be the cross product of 2 vector) is not listed in http://www.w3.org/TR/css3-transforms/#supporting-functions http://www.w3.org/TR/css3-transforms/#supporting-functions

dirkschulze commented 6 years ago

There probably should be a new issue for CSS Transforms 2 for the 3d re/decomposition.

dirkschulze commented 6 years ago

Reopening issue for changes to Level 2