code: def Disc(
      pos=(0, 0, 0),
      normal=(0, 0, 1),
      r1=0.5,
      r2=1,
      c="coral",
      bc="darkgreen",
      lw=1,
      alpha=1,
      res=12,
      resphi=None,
  ):
      
      ps = vtk.vtkDiskSource()
      ps.SetInnerRadius(r1)
      ps.SetOuterRadius(r2)
      ps.SetRadialResolution(res)
      if not resphi:
          resphi = 6 * res
      ps.SetCircumferentialResolution(resphi)
      ps.Update()
  
      axis = np.array(normal) / np.linalg.norm(normal)
      theta = np.arccos(axis[2])
      phi = np.arctan2(axis[1], axis[0])
      t = vtk.vtkTransform()
      t.PostMultiply()
      t.RotateY(theta * 57.3)
      t.RotateZ(phi * 57.3)
      tf = vtk.vtkTransformPolyDataFilter()
      tf.SetInputData(ps.GetOutput())
      tf.SetTransform(t)
      tf.Update()
  
      pd = tf.GetOutput()
      mapper = vtk.vtkPolyDataMapper()
      mapper.SetInputData(pd)
  
      actor = Actor()  # vtk.vtkActor()
      actor.SetMapper(mapper)
      actor.GetProperty().SetColor(colors.getColor(c))
      actor.GetProperty().SetOpacity(alpha)
      actor.GetProperty().SetLineWidth(lw)
      actor.GetProperty().SetInterpolationToFlat()
      if bc:  # defines a specific color for the backface
          backProp = vtk.vtkProperty()
          backProp.SetDiffuseColor(colors.getColor(bc))
          backProp.SetOpacity(alpha)
          actor.SetBackfaceProperty(backProp)
      actor.SetPosition(pos)
      settings.collectable_actors.append(actor)
      return actor
docs: Build a 2D disc of internal radius `r1` and outer radius `r2`,
      oriented perpendicular to `normal`.
      
      |Disk|