'The rotation matrix corresponding to this orienter
instance.
Parameters
system : CoordSys3D
The coordinate system wrt which the rotation matrix
is to be computed'

@cacheit
def rotation_matrix(self, system):

    axis = sympy.vector.express(self.axis, system).normalize()
    axis = axis.to_matrix(system)
    theta = self.angle
    parent_orient = ((((eye(3) - (axis * axis.T)) * cos(theta)) + (Matrix([[0, (- axis[2]), axis[1]], [axis[2], 0, (- axis[0])], [(- axis[1]), axis[0], 0]]) * sin(theta))) + (axis * axis.T))
    parent_orient = parent_orient.T
    return parent_orient
