code: def arc(cx, cy, rx, ry, a1, a2, ccw=False):
      scale = 1.0
      ra = (abs(rx) + abs(ry)) / 2.0
      da = math.acos(ra / (ra + 0.125 / scale)) * 2.0
      if ccw:
          while a2 < a1:
              a2 += math.pi * 2.0
      else:
          while a1 < a2:
              a1 += math.pi * 2.0
          da = -da
      a_start = a1
      a_end = a2
  
      vertices = []
      angle = a_start
      while (angle < a_end - da / 4) == ccw:
          x = cx + math.cos(angle) * rx
          y = cy + math.sin(angle) * ry
          vertices.append((x, y))
          angle += da
      x = cx + math.cos(a_end) * rx
      y = cy + math.sin(a_end) * ry
      vertices.append((x, y))
      return vertices
  
file_path: vispy/vispy/util/svg/geometry.py
imports: import math
label_desc: Use image node_id 6 for calling a global function with example usage: arc(cx, cy, rx, ry, a1, a2, ccw) and returns: vertices