code: def light(
          self,
          pos=(1, 1, 1),
          fp=(0, 0, 0),
          deg=25,
          diffuse="y",
          ambient="r",
          specular="b",
          showsource=False,
      ):
          
          if isinstance(fp, vtk.vtkActor):
              fp = fp.GetPosition()
          light = vtk.vtkLight()
          light.SetLightTypeToSceneLight()
          light.SetPosition(pos)
          light.SetPositional(1)
          light.SetConeAngle(deg)
          light.SetFocalPoint(fp)
          light.SetDiffuseColor(colors.getColor(diffuse))
          light.SetAmbientColor(colors.getColor(ambient))
          light.SetSpecularColor(colors.getColor(specular))
          save_int = self.interactive
          self.show(interactive=0)
          self.interactive = save_int
          if showsource:
              lightActor = vtk.vtkLightActor()
              lightActor.SetLight(light)
              self.renderer.AddViewProp(lightActor)
              self.renderer.AddLight(light)
          return light
docs: Generate a source of light placed at pos, directed to focal point fp.
  
          :param fp: focal Point, if this is a ``vtkActor`` use its position.
          :type fp: vtkActor, list
          :param deg: aperture angle of the light source
          :param showsource: if `True`, will show a vtk representation
                              of the source of light as an extra actor
  
          .. hint:: |lights.py|_