code: def point_rotate(pt, ax, theta):
      
  
      # Imports
      import numpy as np
  
      # Ensure pt is reducible to 3-D vector.
      pt = make_nd_vec(pt, nd=3, t=np.float64, norm=False)
  
      # Calculate the rotation
      rot_pt = np.dot(mtx_rot(ax, theta, reps=1), pt)
  
      # Should be ready to return
      return rot_pt
docs: Rotate a 3-D point around a 3-D axis through the origin.
  
      Handedness is a counter-clockwise rotation when viewing the rotation
      axis as pointing at the observer.  Thus, in a right-handed x-y-z frame,
      a 90deg rotation of (1,0,0) around the z-axis (0,0,1) yields a point at
      (0,1,0).
  
      .. todo:: Complete point_rotate docstring
  
      Raises
      ------
      ValueError : If theta is nonscalar
      ValueError : If pt or ax are not reducible to 3-D vectors
      ValueError : If norm of ax is too small