code: public void arc(float x1, float y1, float x2, float y2, float startAng, float extent) {
          ArrayList ar = bezierArc(x1, y1, x2, y2, startAng, extent);
          if (ar.isEmpty())
              return;
          float pt[] = (float [])ar.get(0);
          moveTo(pt[0], pt[1]);
          for (int k = 0; k < ar.size(); ++k) {
              pt = (float [])ar.get(k);
              curveTo(pt[2], pt[3], pt[4], pt[5], pt[6], pt[7]);
          }
      }
docs: Draws a partial ellipse inscribed within the rectangle x1,y1,x2,y2,
  starting at startAng degrees and covering extent degrees. Angles
  start with 0 to the right (+x) and increase counter-clockwise.
  
  @param x1 a corner of the enclosing rectangle
  @param y1 a corner of the enclosing rectangle
  @param x2 a corner of the enclosing rectangle
  @param y2 a corner of the enclosing rectangle
  @param startAng starting angle in degrees
  @param extent angle extent in degrees