code: def rotation_matrix(self):
          
          v, theta = self.v_theta
          c = np.cos(theta)
          s = np.sin(theta)
  
          return np.array([[v[0] * v[0] * (1. - c) + c,
                            v[0] * v[1] * (1. - c) - v[2] * s,
                            v[0] * v[2] * (1. - c) + v[1] * s],
                           [v[1] * v[0] * (1. - c) + v[2] * s,
                            v[1] * v[1] * (1. - c) + c,
                            v[1] * v[2] * (1. - c) - v[0] * s],
                           [v[2] * v[0] * (1. - c) - v[1] * s,
                            v[2] * v[1] * (1. - c) + v[0] * s,
                            v[2] * v[2] * (1. - c) + c]])
docs: Compute the rotation matrix of the (normalized) quaternion.
  
          Returns
          -------
          R : :class:`~numpy.ndarray`
              A 3 by 3 rotation matrix (has shape ``(3,3)``).