Ну, есть много разных вариантов в зависимости от того, как вы хотите изогнуть, чтобы выглядеть, но это в основном сделает две точки частью эллипса
function curveBetweenPoints(startX, startY, endX, endY, ctx){
var cp1 = {
x: startX,
y: ctx.canvas.height - ((ctx.canvas.height - startY) / 2)
};
var cp2 = {
x: startX + ((endX - startX) / 4),
y: ctx.canvas.height
};
var cp3 = {
x: endX - ((endX - startX) / 4),
y: ctx.canvas.height
}
var cp4 = {
x: endX,
y: ctx.canvas.height - ((ctx.canvas.height - endY) / 2)
}
ctx.beginPath();
ctx.moveTo(startX, startY);
ctx.bezierCurveTo(cp1.x, cp1.y, cp2.x, cp2.y, (endX - startX) / 2, ctx.canvas.height);
ctx.bezierCurveTo(cp3.x, cp3.y, cp4.x, cp4.y, endX, endY);
ctx.stroke();
}