def unit_circle(cls):
if cls._unit_circle is None:<EOL><INDENT>MAGIC = <NUM_LIT><EOL>SQRTHALF = np.sqrt(<NUM_LIT:0.5>)<EOL>MAGIC45 = np.sqrt((MAGIC*MAGIC) / <NUM_LIT>)<EOL>vertices = np.array(<EOL>[[<NUM_LIT:0.0>, -<NUM_LIT:1.0>],<EOL>[MAGIC, -<NUM_LIT:1.0>],<EOL>[SQRTHALF-MAGIC45, -SQRTHALF-MAGIC45],<EOL>[SQRTHALF, -SQRTHALF],<EOL>[SQRTHALF+MAGIC45, -SQRTHALF+MAGIC45],<EOL>[<NUM_LIT:1.0>, -MAGIC],<EOL>[<NUM_LIT:1.0>, <NUM_LIT:0.0>],<EOL>[<NUM_LIT:1.0>, MAGIC],<EOL>[SQRTHALF+MAGIC45, SQRTHALF-MAGIC45],<EOL>[SQRTHALF, SQRTHALF],<EOL>[SQRTHALF-MAGIC45, SQRTHALF+MAGIC45],<EOL>[MAGIC, <NUM_LIT:1.0>],<EOL>[<NUM_LIT:0.0>, <NUM_LIT:1.0>],<EOL>[-MAGIC, <NUM_LIT:1.0>],<EOL>[-SQRTHALF+MAGIC45, SQRTHALF+MAGIC45],<EOL>[-SQRTHALF, SQRTHALF],<EOL>[-SQRTHALF-MAGIC45, SQRTHALF-MAGIC45],<EOL>[-<NUM_LIT:1.0>, MAGIC],<EOL>[-<NUM_LIT:1.0>, <NUM_LIT:0.0>],<EOL>[-<NUM_LIT:1.0>, -MAGIC],<EOL>[-SQRTHALF-MAGIC45, -SQRTHALF+MAGIC45],<EOL>[-SQRTHALF, -SQRTHALF],<EOL>[-SQRTHALF+MAGIC45, -SQRTHALF-MAGIC45],<EOL>[-MAGIC, -<NUM_LIT:1.0>],<EOL>[<NUM_LIT:0.0>, -<NUM_LIT:1.0>],<EOL>[<NUM_LIT:0.0>, -<NUM_LIT:1.0>]],<EOL>np.float_)<EOL>codes = cls.CURVE4 * np.ones(<NUM_LIT>)<EOL>codes[<NUM_LIT:0>] = cls.MOVETO<EOL>codes[-<NUM_LIT:1>] = cls.CLOSEPOLY<EOL>cls._unit_circle = Path(vertices, codes)<EOL><DEDENT>return cls._unit_circle<EOL>
(staticmethod) Returns a :class:`Path` of the unit circle.
The circle is approximated using cubic Bezier curves.  This
uses 8 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>`_.