- From: fuchsia via GitHub <sysbot+gh@w3.org>
- Date: Sat, 16 Jun 2018 17:22:31 +0000
- To: public-fxtf-archive@w3.org
fuchsia has just created a new issue for https://github.com/w3c/fxtf-drafts: == [geometry-1] TYPO? 2.1(6) should be pre-multiply ,not post-multiply. == Step 6 of [Section 2.1](https://drafts.fxtf.org/geometry/#transforming-a-point-with-a-matrix) _Transforming a point with a matrix_, says >Set pointVector to pointVector post-multiplied by matrix. pointVector was defined as a **column** vector in the previous step. And the definition of [post-multiply](https://drafts.fxtf.org/geometry/#matrix-post-multiply) is: > Term A post-multiplied by term B is equal to A · B. So that's `pointVector · matrix`; i.e. `columnVector · matrix` That's not mathematically possible. Matrix multiplication produces a new matrix whose elements are the inner products of the left-hand matrix's rows with the right-hand's columns; so for <b>C</b> = <b>A</b> · <b>B</b> <a href="https://www.codecogs.com/eqnedit.php?latex=C_{ij}=\sum_{k}A_{ik}B_{kj}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?C_{ij}=\sum_{k}A_{ik}B_{kj}" title="C_{ij}=\sum_{k}A_{ik}B_{kj}" /></a> A 4-element column vector multiplied by a 4x4 matrix means calculating the dot product of a 1-element row with a 4-element column. There's no way to do it. The text _should_ say > Set pointVector to pointVector pre-multiplied by matrix. or >Set pointVector to matrix post-multiplied by pointVector. or it should construct pointVector as a row vector and post-multiply by the transpose of the matrix. I've read and re-read the spec, and I can't see I've got this wrong this time. But I've not done a PR in case my eyes have [swizzled](https://www.khronos.org/opengl/wiki/Data_Type_(GLSL)#Swizzling) the words again. Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/294 using your GitHub account
Received on Saturday, 16 June 2018 17:22:36 UTC