public static Matrix3 Inverse(Matrix3 m) { return(Inverse(m, Determinant(m))); }
public static float Determinant(Matrix3 m) { return ((m[0][0] * m[1][1] * m[2][2] + m[0][1] * m[1][2] * m[2][0] + m[0][2] * m[1][0] * m[2][1]) - (m[0][0] * m[1][2] * m[2][1] + m[0][1] * m[1][0] * m[2][2] + m[0][2] * m[1][1] * m[2][0])); }
public static Matrix3 EulerZXY(float x, float y, float z) { return(Matrix3.RotZ(z) * Matrix3.RotX(x) * Matrix3.RotY(y)); }
public static Matrix3 Transpose(Matrix3 m) { return(new Matrix3(m[0][0], m[1][0], m[2][0], m[0][1], m[1][1], m[2][1], m[0][2], m[1][2], m[2][2])); }
public bool Equals(Matrix3 m) { return(this == m); }