code: def CircularArcFromNormal(
      center, resolution=100, normal=None, polar=None, angle=None
  ):
      """Create a circular arc defined by normal to the plane of the arc, and an angle.
  
      The number of segments composing the polyline is controlled by
      setting the object resolution.
  
      Parameters
      ----------
      center : sequence[float]
          Center of the circle that defines the arc.
  
      resolution : int, default: 100
          The number of segments of the polyline that draws the arc.
          Resolution of 1 will just create a line.
  
      normal : sequence[float], optional
          The normal vector to the plane of the arc.  By default it
          points in the positive Z direction.
  
      polar : sequence[float], optional
          Starting point of the arc in polar coordinates.  By default it
          is the unit vector in the positive x direction.
  
      angle : float, optional
          Arc length (in degrees) beginning at the polar vector.  The
          direction is counterclockwise.  By default it is 90.
  
      Returns
      -------
      pyvista.PolyData
          Circular arc mesh.
  
      Examples
      --------
      Quarter arc centered at the origin in the xy plane.
  
      >>> import pyvista as pv
      >>> normal = [0, 0, 1]
      >>> polar = [-1, 0, 0]
      >>> arc = pv.CircularArcFromNormal(
      ...     [0, 0, 0], normal=normal, polar=polar
      ... )
      >>> pl = pv.Plotter()
      >>> _ = pl.add_mesh(arc, color='k', line_width=10)
      >>> _ = pl.show_bounds(location='all', font_size=30, use_2d=True)
      >>> _ = pl.view_xy()
      >>> pl.show()
      """
      check_valid_vector(center, "center")
      if normal is None:
          normal = [0, 0, 1]
      if polar is None:
          polar = [1, 0, 0]
      if angle is None:
          angle = 90.0
  
      arc = _vtk.vtkArcSource()
      arc.SetCenter(*center)
      arc.SetResolution(resolution)
      arc.UseNormalAndAngleOn()
      check_valid_vector(normal, "normal")
      arc.SetNormal(*normal)
      check_valid_vector(polar, "polar")
      arc.SetPolarVector(*polar)
      arc.SetAngle(angle)
      arc.Update()
      angle = np.deg2rad(arc.GetAngle())
      arc = wrap(arc.GetOutput())
      # Compute distance of every point along circular arc
      center = np.array(center)
      radius = np.sqrt(np.sum((arc.points[0] - center) ** 2, axis=0))
      angles = np.linspace(0.0, angle, resolution + 1)
      arc["Distance"] = radius * angles
      return arc
  
imports: from itertools import product
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from .arrays import _coerce_pointslike_arg
  from .geometric_sources import ConeSource, CylinderSource, MultipleLinesSource, Text3DSource, translate
  from .helpers import wrap
  from .misc import check_valid_vector
label_desc: Use image node_id 19 for calling a global function with example usage: CircularArcFromNormal(center, resolution, normal, polar, angle) and returns: arc