/// <summary> /// Rotate a vector with this matrix. /// </summary> public VectorND RotateVector( VectorND input ) { VectorND result = new VectorND( 4 ); VectorND copy = input.Clone(); for( int i = 0; i < 4; i++ ) { result.X[i] = copy.X[0] * this[i, 0] + copy.X[1] * this[i, 1] + copy.X[2] * this[i, 2] + copy.X[3] * this[i, 3]; } return result; }