Por que não poderia ser mais simples? Nunca consigo resolver esses exercícios :/
<canvas width="600" height="400"></canvas>
<script>
var tela=document.querySelector('canvas');
var pincel=tela.getContext('2d');
pincel.fillStyle='grey';
pincel.fillRect(0,0,600,400);
function desenhaCirculo(x,y,raio){
pincel.fillStyle='blue';
pincel.beginPath();
pincel.arc(x,y,raio,0,2*Math.PI);
pincel.fill();
}
function limpaTela(){
pincel.clearRect(0,0,600,400);
}
function atualizaTela(){
for(var x=0;x<600;x++){
limpaTela();
desenhaCirculo(x,20,10);
}
for(var x=600;x>0;x=x-1){
limpaTela();
desenhaCirculo(x,20,10);
}
}
setInterval(atualizaTela,10);
</script>