Согласно документации WebKitCSSMatrix , функция multiply () "возвращает результат умножения этой матрицы на заданную матрицу справа."Так что
a.multiply(b)
должно быть равно a b
в математической записи.
Но, похоже, a.multiply(b)
действительно равно b a
;результат равен произведению, когда данная матрица слева.
Например:
Пусть a:
2, -2, 5, 0
-1, 0, 12, 0
3, 1, -2, 0
0, 0, 0, 1
иB:
1, 4, 3, 0
3, 1, 5, 0
3, 4, 3, 0
0, 0, 0, 1
При использовании этого инструмента произведение a b
равно
c = a b:
11, 26, 11, 0
35, 44, 33, 0
0, 5, 8, 0
0, 0, 0, 1
В JavaScript:
a = new WebKitCSSMatrix("matrix3d(2,-2,5,0, -1,0,12,0, 3,1,-2,0, 0,0,0,1)")
b = new WebKitCSSMatrix("matrix3d(1,4,3,0, 3,1,5,0, 3,4,3,0, 0,0,0,1)");
и a.multiply(b)
это:
7, 1, 47, 0
20, -1, 17, 0
11, -3, 57, 0
0, 0, 0, 1
но на самом деле b.multiply(a)
это матрица c
.
Я что-то упустил?