¿La relación de la curva de bezier y la elipse?

Quiero dibujar un óvalo en el lienzo html5, y encontré un buen método para hacerlo endesbordamiento de pila.pero tengo otra pregunta.

function drawEllipse(ctx, x, y, w, h) {
  var kappa = 0.5522848;
      ox = (w / 2) * kappa, // control point offset horizontal
      oy = (h / 2) * kappa, // control point offset vertical
      xe = x + w,           // x-end
      ye = y + h,           // y-end
      xm = x + w / 2,       // x-middle
      ym = y + h / 2;       // y-middle

  ctx.beginPath();
  ctx.moveTo(x, ym);
  ctx.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y);
  ctx.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym);
  ctx.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye);
  ctx.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym);
  ctx.closePath();
  ctx.stroke();
}

el método en el enlace anterior tiene el uso de bezierCurveTo para dibujar una elipse, pero tiene el dibujo bezierCurveTo4 veces. pero creo que solo2 bezierCurveTo puede dibujar una elipse. Como esto:

pero soy débil en matemáticas, ¿podría alguien decirme la relación de "el punto de control" y "el punto oval", por favor? ¿O debemos dibujar cuatro curvas más bezier para dibujar un óvalo?

gracias a todos

Respuestas a la pregunta(5)

Su respuesta a la pregunta