Пример #1
0
 public RotMatrix(RotMatrix m)
 {
     _values[0, 0] = m._values[0, 0];
     _values[0, 1] = m._values[0, 1];
     _values[0, 2] = m._values[0, 2];
     _values[1, 0] = m._values[1, 0];
     _values[1, 1] = m._values[1, 1];
     _values[1, 2] = m._values[1, 2];
     _values[2, 0] = m._values[2, 0];
     _values[2, 1] = m._values[2, 1];
     _values[2, 2] = m._values[2, 2];
 }
Пример #2
0
        public RotMatrix Invert()
        {
            var m = new RotMatrix(this);

            _values[0, 0] = m._values[0, 0];
            _values[0, 1] = m._values[1, 0];
            _values[0, 2] = m._values[2, 0];
            _values[1, 0] = m._values[0, 1];
            _values[1, 1] = m._values[1, 1];
            _values[1, 2] = m._values[2, 1];
            _values[2, 0] = m._values[0, 2];
            _values[2, 1] = m._values[1, 2];
            _values[2, 2] = m._values[2, 2];

            return(this);
        }
Пример #3
0
        public static RotMatrix operator *(RotMatrix m1, RotMatrix m2)
        {
            var m = new RotMatrix();

            m.Values[0, 0] = m1.Values[0, 0] * m2.Values[0, 0] + m1.Values[0, 1] * m2.Values[1, 0] + m1.Values[0, 2] * m2.Values[2, 0];
            m.Values[0, 1] = m1.Values[0, 0] * m2.Values[0, 1] + m1.Values[0, 1] * m2.Values[1, 1] + m1.Values[0, 2] * m2.Values[2, 1];
            m.Values[0, 2] = m1.Values[0, 0] * m2.Values[0, 2] + m1.Values[0, 1] * m2.Values[1, 2] + m1.Values[0, 2] * m2.Values[2, 2];

            m.Values[1, 0] = m1.Values[1, 0] * m2.Values[0, 0] + m1.Values[1, 1] * m2.Values[1, 0] + m1.Values[1, 2] * m2.Values[2, 0];
            m.Values[1, 1] = m1.Values[1, 0] * m2.Values[0, 1] + m1.Values[1, 1] * m2.Values[1, 1] + m1.Values[1, 2] * m2.Values[2, 1];
            m.Values[1, 2] = m1.Values[1, 0] * m2.Values[0, 2] + m1.Values[1, 1] * m2.Values[1, 2] + m1.Values[1, 2] * m2.Values[2, 2];

            m.Values[2, 0] = m1.Values[2, 0] * m2.Values[0, 0] + m1.Values[2, 1] * m2.Values[1, 0] + m1.Values[2, 2] * m2.Values[2, 0];
            m.Values[2, 1] = m1.Values[2, 0] * m2.Values[0, 1] + m1.Values[2, 1] * m2.Values[1, 1] + m1.Values[2, 2] * m2.Values[2, 1];
            m.Values[2, 2] = m1.Values[2, 0] * m2.Values[0, 2] + m1.Values[2, 1] * m2.Values[1, 2] + m1.Values[2, 2] * m2.Values[2, 2];

            return(m);
        }