'Return a :class:`Path` of the right half
of a unit circle. The circle is approximated using cubic Bezier
curves.  This uses 4 splines around the circle using the approach
presented here:
Lancaster, Don.  `Approximating a Circle or an Ellipse Using Four
Bezier Cubic Splines <http://www.tinaja.com/glib/ellipse4.pdf>`_.'

@classmethod
def unit_circle_righthalf(cls):

    if (cls._unit_circle_righthalf is None):
        MAGIC = 0.2652031
        SQRTHALF = np.sqrt(0.5)
        MAGIC45 = np.sqrt(((MAGIC * MAGIC) / 2.0))
        vertices = np.array([[0.0, (-1.0)], [MAGIC, (-1.0)], [(SQRTHALF - MAGIC45), ((- SQRTHALF) - MAGIC45)], [SQRTHALF, (- SQRTHALF)], [(SQRTHALF + MAGIC45), ((- SQRTHALF) + MAGIC45)], [1.0, (- MAGIC)], [1.0, 0.0], [1.0, MAGIC], [(SQRTHALF + MAGIC45), (SQRTHALF - MAGIC45)], [SQRTHALF, SQRTHALF], [(SQRTHALF - MAGIC45), (SQRTHALF + MAGIC45)], [MAGIC, 1.0], [0.0, 1.0], [0.0, (-1.0)]], float)
        codes = (cls.CURVE4 * np.ones(14))
        codes[0] = cls.MOVETO
        codes[(-1)] = cls.CLOSEPOLY
        cls._unit_circle_righthalf = cls(vertices, codes, readonly=True)
    return cls._unit_circle_righthalf
