code: def orientation(self, newaxis=None, rotation=0, rad=False):
          
          if rad:
              rotation *= 57.29578
          initaxis = utils.versor(self.top - self.base)
          if newaxis is None:
              return initaxis
          newaxis = utils.versor(newaxis)
          pos = np.array(self.GetPosition())
          crossvec = np.cross(initaxis, newaxis)
          angle = np.arccos(np.dot(initaxis, newaxis))
          T = vtk.vtkTransform()
          T.PostMultiply()
          T.Translate(-pos)
          if rotation:
              T.RotateWXYZ(rotation, initaxis)
          T.RotateWXYZ(angle * 57.29578, crossvec)
          T.Translate(pos)
          self.SetUserMatrix(T.GetMatrix())
          if self.trail:
              self.updateTrail()
          return self
docs: Set/Get actor orientation.
  
          :param rotation: If != 0 rotate actor around newaxis.
          :param rad: set to True if angle is in radians.
  
          .. hint:: |gyroscope2| |gyroscope2.py|_