Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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);
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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] } };
 }