multiplyMatrices method
Matrix3
multiplyMatrices(
- Matrix3 m1,
- Matrix3 m2, [
- bool transpose = true
])
Implementation
Matrix3 multiplyMatrices(Matrix3 m1, Matrix3 m2, [bool transpose = true]) {
if(transpose) m2 = m2.clone()..transpose();
Float32List te = storage;
Float32List tm1 = m1.storage;
Float32List tm2 = m2.storage;
double a0 = tm1[0], a3 = tm1[3], a6 = tm1[6];
double a1 = tm1[1], a4 = tm1[4], a7 = tm1[7];
double a2 = tm1[2], a5 = tm1[5], a8 = tm1[8];
double b0 = tm2[0], b3 = tm2[3], b6 = tm2[6];
double b1 = tm2[1], b4 = tm2[4], b7 = tm2[7];
double b2 = tm2[2], b5 = tm2[5], b8 = tm2[8];
te[0] = a0*b0 + a1*b3 + a2*b6;
te[1] = a0*b1 + a1*b4 + a2*b7;
te[2] = a0*b2 + a1*b5 + a2*b8;
te[3] = a3*b0 + a4*b3 + a5*b6;
te[4] = a3*b1 + a4*b4 + a5*b7;
te[5] = a3*b2 + a4*b5 + a5*b8;
te[6] = a6*b0 + a7*b3 + a8*b6;
te[7] = a6*b1 + a7*b4 + a8*b7;
te[8] = a6*b2 + a7*b5 + a8*b8;
return this;
}