def Arrows(startPoints, endPoints=None, s=None, scale=1, c="r", alpha=1, res=12):
    """
    Build arrows between two lists of points `startPoints` and `endPoints`.
    `startPoints` can be also passed in the form ``[[point1, point2], ...]``.
    
    Color can be specfied as a colormap which maps the size of the arrows.

    :param float s: fix aspect-ratio of the arrow and scale its cross section
    :param float scale: apply a rescaling factor to the length
    :param c: color or array of colors
    :param str cmap: color arrows by size using this color map
    :param float alpha: set transparency
    :param int res: set arrow resolution

    .. hint:: |glyphs_arrow| |glyphs_arrow.py|_
    """
    startPoints = np.array(startPoints)
    if endPoints is None:
        strt = startPoints[:,0]
        endPoints = startPoints[:,1]
        startPoints = strt
    
    arr = vtk.vtkArrowSource()
    arr.SetShaftResolution(res)
    arr.SetTipResolution(res)
    if s:
        sz = 0.02 * s
        arr.SetTipRadius(sz*2)
        arr.SetShaftRadius(sz)
        arr.SetTipLength(sz * 10)
    arr.Update()
    pts = Points(startPoints)
    orients = (endPoints - startPoints) * scale
    arrg = Glyph(pts, arr.GetOutput(), 
                 orientationArray=orients, scaleByVectorSize=True, 
                 c=c, alpha=alpha)
    settings.collectable_actors.append(arrg)
    return arrg
Build arrows between two lists of points `startPoints` and `endPoints`.
    `startPoints` can be also passed in the form ``[[point1, point2], ...]``.
    
    Color can be specfied as a colormap which maps the size of the arrows.

    :param float s: fix aspect-ratio of the arrow and scale its cross section
    :param float scale: apply a rescaling factor to the length
    :param c: color or array of colors
    :param str cmap: color arrows by size using this color map
    :param float alpha: set transparency
    :param int res: set arrow resolution

    .. hint:: |glyphs_arrow| |glyphs_arrow.py|_