¿Cómo dibujar una curva suave a través de N puntos usando JavaScript HTML5 Canvas?

Para una aplicación de dibujo, guardo las coordenadas de movimiento del mouse en una matriz y luego las dibujo con lineTo. La línea resultante no es suave. ¿Cómo puedo producir una sola curva entre todos los puntos reunidos?

He buscado en Google pero solo he encontrado 3 funciones para dibujar líneas: para 2 puntos de muestra, simplemente use lineTo. Para 3 puntos de muestra quadraticCurveTo, para 4 puntos de muestra, bezierCurveTo.

(Intenté dibujar un bezierCurveTo por cada 4 puntos en la matriz, pero esto lleva a torceduras cada 4 puntos de muestra, en lugar de una curva continua continua.)

¿Cómo escribo una función para dibujar una curva suave con 5 puntos de muestra y más?

Respuestas a la pregunta(9)

Su respuesta a la pregunta