Esempio n. 1
0
 public static void Mul(Matrix3 result, Matrix3 m1, Matrix3 m2)
 {
     for (int i = 0; i < 3; i++)
     {
         for (int j = 0; j < 3; j++)
         {
             result.Set(i, j,
                        m1.Get(i, 0) * m2.Get(0, j) + m1.Get(i, 1) * m2.Get(1, j) + m1.Get(i, 2) * m2.Get(2, j));
         }
     }
 }
Esempio n. 2
0
        public Vector3f MultiplySelf(Matrix3 m)
        {
            float rx = x * m.Get(0, 0) + y * m.Get(0, 1) + z * m.Get(0, 2);
            float ry = x * m.Get(1, 0) + y * m.Get(1, 1) + z * m.Get(1, 2);
            float rz = x * m.Get(2, 0) + y * m.Get(2, 1) + z * m.Get(2, 2);

            return(Set(rx, ry, rz));
        }
Esempio n. 3
0
        public static void Mul(float[] result, Matrix3 m, float[] v)
        {
            float a, b, c;

            a         = m.Get(0, 0) * v[0] + m.Get(1, 0) * v[1] + m.Get(2, 0) * v[2];
            b         = m.Get(0, 1) * v[0] + m.Get(1, 1) * v[1] + m.Get(2, 1) * v[2];
            c         = m.Get(0, 2) * v[0] + m.Get(1, 2) * v[1] + m.Get(2, 2) * v[2];
            result[0] = a;
            result[1] = b;
            result[2] = c;
        }
Esempio n. 4
0
 public static void Sub(Matrix3 result, Matrix3 m1, Matrix3 m2)
 {
     for (int i = 0; i < 9; i++)
     {
         result.Set(i, m1.Get(i) - m2.Get(i));
     }
 }