¿Hay un algorithm de elipse de punto medio?

¿Hay un algorithm de trazado de la elipse de punto medio similar al algorithm de círculo de punto medio?

He buscado en Google ejemplos pero ninguno de los que he encontrado o no funcionan o son para elipses rellenados, no graficados. Además, la página de wikipedia sobre el algorithm del círculo del punto medio se refiere a la existencia de una versión de elipse, pero tiene un enlace inactivo que Google parece incapaz de ayudar a resolver.

Cualquier ayuda seria gratamente apreciada.

One Solution collect form web for “¿Hay un algorithm de elipse de punto medio?”

Eventualmente encontré una respuesta aquí:

http://geofhagopian.net/sablog/Slog-october/slog-10-25-05.htm

Reproducido y modificado para ser más general aplicable a continuación …

function ellipsePlotPoints (xc,yc, x, y) { setPixel (xc + x, yc + y); setPixel (xc - x, yc + y); setPixel (xc + x, yc - y); setPixel (xc - x, yc - y); } function ellipse(xc,yc, a, b) { var a2 = a * a; var b2 = b * b; var twoa2 = 2 * a2; var twob2 = 2 * b2; var p; var x = 0; var y = b; var px = 0; var py = twoa2 * y; /* Plot the initial point in each quadrant. */ ellipsePlotPoints (xc,yc, x, y); /* Region 1 */ p = Math.round (b2 - (a2 * b) + (0.25 * a2)); while (px < py) { x++; px += twob2; if (p < 0) p += b2 + px; else { y--; py -= twoa2; p += b2 + px - py; } ellipsePlotPoints (xc,yc, x, y); } /* Region 2 */ p = Math.round (b2 * (x+0.5) * (x+0.5) + a2 * (y-1) * (y-1) - a2 * b2); while (y > 0) { y--; py -= twoa2; if (p > 0) p += a2 - py; else { x++; px += twob2; p += a2 - py + px; } ellipsePlotPoints (xc,yc, x, y); } } 
Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.