public static Matrix44I operator *(Matrix44I left, Matrix44I right) { Matrix44I o_ = new Matrix44I(); Mul(ref o_, ref left, ref right); return(o_); }
/// <summary> /// 乗算を行う。 /// </summary> /// <param name="o">出力先</param> /// <param name="in1">行列1</param> /// <param name="in2">行列2</param> public static void Mul(ref Matrix44I o, ref Matrix44I in1, ref Matrix44I in2) { Matrix44I _in1 = in1; Matrix44I _in2 = in2; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { int v = 0; for (int k = 0; k < 4; k++) { v += _in1.Values[i, k] * _in2.Values[k, j]; } o.Values[i, j] = v; } } }