code: static protected Point2D newControl (Point2D start, Point2D ctrl, Point2D end) {
          Point2D.Double newCtrl = new Point2D.Double();
          newCtrl.x = 2 * ctrl.getX() - (start.getX() + end.getX()) / 2;
          newCtrl.y = 2 * ctrl.getY() - (start.getY() + end.getY()) / 2;
          return newCtrl;
      }
docs: implementation found at
  http://forum.java.sun.com/thread.jspa?threadID=609888&messageID=3362448
  This enables the bezier curve to be tangent to the control point.