public Matrix3x3 Multiply(Matrix3x3 matrix) { return new Matrix3x3( matrix._r0c0 * _r0c0 + matrix._r0c1 * _r1c0 + matrix._r0c2 * _r2c0, matrix._r0c0 * _r0c1 + matrix._r0c1 * _r1c1 + matrix._r0c2 * _r2c1, matrix._r0c0 * _r0c2 + matrix._r0c1 * _r1c2 + matrix._r0c2 * _r2c2, matrix._r1c0 * _r0c0 + matrix._r1c1 * _r1c0 + matrix._r1c2 * _r2c0, matrix._r1c0 * _r0c1 + matrix._r1c1 * _r1c1 + matrix._r1c2 * _r2c1, matrix._r1c0 * _r0c2 + matrix._r1c1 * _r1c2 + matrix._r1c2 * _r2c2, matrix._r2c0 * _r0c0 + matrix._r2c1 * _r1c0 + matrix._r2c2 * _r2c0, matrix._r2c0 * _r0c1 + matrix._r2c1 * _r1c1 + matrix._r2c2 * _r2c1, matrix._r2c0 * _r0c2 + matrix._r2c1 * _r1c2 + matrix._r2c2 * _r2c2); }
public bool EqualsApproximation(Matrix3x3 matrix, float tolerance) { return Calc.Abs(_r0c0 - matrix._r0c0) <= tolerance && Calc.Abs(_r0c1 - matrix._r0c1) <= tolerance && Calc.Abs(_r0c2 - matrix._r0c2) <= tolerance && Calc.Abs(_r1c0 - matrix._r1c0) <= tolerance && Calc.Abs(_r1c1 - matrix._r1c1) <= tolerance && Calc.Abs(_r1c2 - matrix._r1c2) <= tolerance && Calc.Abs(_r2c0 - matrix._r2c0) <= tolerance && Calc.Abs(_r2c1 - matrix._r2c1) <= tolerance && Calc.Abs(_r2c2 - matrix._r2c2) <= tolerance; }
public bool Equals(Matrix3x3 matrix) { return _r0c0 == matrix._r0c0 && _r0c1 == matrix._r0c1 && _r0c2 == matrix._r0c2 && _r1c0 == matrix._r1c0 && _r1c1 == matrix._r1c1 && _r1c2 == matrix._r1c2 && _r2c0 == matrix._r2c0 && _r2c1 == matrix._r2c1 && _r2c2 == matrix._r2c2; }
public Matrix3x3 Add(Matrix3x3 matrix) { return new Matrix3x3( _r0c0 + matrix._r0c0, _r0c1 + matrix._r0c1, _r0c2 + matrix._r0c2, _r1c0 + matrix._r1c0, _r1c1 + matrix._r1c1, _r1c2 + matrix._r1c2, _r2c0 + matrix._r2c0, _r2c1 + matrix._r2c1, _r2c2 + matrix._r2c2); }
public static Matrix ToMatrix(Matrix3x3 matrix) { Matrix result = new Matrix(3, 3); result[0, 0] = matrix._r0c0; result[0, 1] = matrix._r0c1; result[0, 2] = matrix._r0c2; result[1, 0] = matrix._r1c0; result[1, 1] = matrix._r1c1; result[1, 2] = matrix._r1c2; result[1, 0] = matrix._r2c0; result[2, 1] = matrix._r2c1; result[2, 2] = matrix._r2c2; return result; }
public static float[,] ToFloats(Matrix3x3 matrix) { return new float[,] { { matrix[0, 0], matrix[0, 1], matrix[0, 2] }, { matrix[1, 0], matrix[1, 1], matrix[1, 2] }, { matrix[2, 0], matrix[2, 1], matrix[2, 2] } }; }