Dibujar líneas suaves con lienzo

Hasta ahora ninguno de los hilos aquí en líneas suaves es correcto.

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

Líneas suaves dibujadas por el usuario en el lienzo

Ambos dan como resultado líneas irregulares. Por suavizado me refiero a usar los puntos x, y como puntos de control para suavizar la línea. La línea NO necesita pasar por los puntos. Simplemente tiene que dibujar una línea suave dados n puntos.

ásicamente estoy grabando cada segmento de línea, luego, cuando el usuario se mueve hacia arriba, suavizará la línea.

He probado mi propio método con bezierCurveTo, pero eso solo suaviza cualquier otro punto, y luego los puntos de conexión siguen siendo duros. Internet parece pensar que lo que estoy buscando se llama curvas B-Spline. Intenté aplicar una matriz de álgebra lineal al problema, pero fallé en eso jajaja.

Aquí está la mejor curva que puedo obtener, (imagen). La línea en rojo es la línea "suavizada", como puede ver se suaviza en cualquier otro punto, pero no continua. Esto está usando el código de

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

Mi código hace lo mismo

http: //www.square-bracket.com/images/smoothlines.pn

¡Gracias por tu ayuda

Respuestas a la pregunta(2)

Su respuesta a la pregunta