Tela HTML move o círculo de a para b com animação

Eu queria saber qual seria a melhor maneira de mover um círculo do ponto A para o ponto B usando animação suave.

Recebo novas coordenadas com websocket a cada segundo e gostaria de animar o movimento do círculo do último ponto para o novo ponto durante esse segundo.

Visualizei neste violino como a instalação ficaria. Substituí o lado ws pela entrada manual do botão para esse teste, mas está faltando a função de mover o círculo.

O jQuery também é bem-vindo.

var x = 100;
var y = 50;
var r = 10;

var WIDTH = 600;
var HEIGHT = 400;

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

function circle(x, y, r) {
  ctx.beginPath();
  ctx.arc(x, y, r, 0, Math.PI * 2, true);
  ctx.fill();
}

function clear() {
  ctx.clearRect(0, 0, WIDTH, HEIGHT);
}

function draw() {
  clear(WIDTH, HEIGHT);
  ctx.fillStyle = "purple";
  circle(x, y, r);
}

draw();

https://jsfiddle.net/1g18rsqy/

Obrigado :)

questionAnswers(1)

yourAnswerToTheQuestion