А погуглить не судьба?
<html><head><title>Canvas :: Sample #1</title><script>
var
cnv, ctx, image = new Image();
function Init() {
cnv = document.getElementsByTagName("canvas")[0];
ctx = cnv.getContext("2d");
ctx.fillStyle = "#000";
ctx.fillRect(0, 0, cnv.width, cnv.height);
size = cnv.width > cnv.height ? cnv.width : cnv.height;
ctx.fillStyle = "#0e6";
x1 = 0;
ctx.strokeStyle = 'red';
for(i = 0; i < 320; ++ i) {
x2 = cnv.width * 0.375 + cnv.height * Math.sin(x1 / cnv.width * 10.7) / 2;
y2 = cnv.height * 0.45 + cnv.height * Math.cos(x1 / cnv.width * 10.7) / 2;
ctx.moveTo(x1, cnv.height / 2);
ctx.lineTo(x2, y2);
x1 = (x1 + 1) % cnv.width;
}
ctx.stroke();
image.src = cnv.toDataURL("image/png");
Animate();
ctx.translate(cnv.width / 2, cnv.height / 2);
}
function Animate() {
ctx.rotate(1/6);
ctx.drawImage(image, -cnv.width / 2, -cnv.height / 2);
setTimeout("Animate()", 50);
}
</script></head>
<body onload='Init()'>
<canvas width="320" height="240">
</canvas>
</body>
</html>