Creating 2-D Animations on Canvas = Rhodonea curve

This is also a beautiful animation made on HTML5 canvas.

Polar equation:
r = a sin(kθ)

In order to draw the curve, two parametric equations are derived from the polar equation in this animation. It is described below in detail.

Finding a good book to master HTML5 can be very challenging: there are so many around - most with eye-catching titles and very complex substance.
Therefore, Vivax Solutions strongly recommends Core HTML5 Canvas for those who really want to delve into HTML5.
Please click the image to access Amazon:

The Rhodonea Curve

A beautiful animation based on Rhodonea Curve:




The Code for the animation is as follows:

<script>
var canvas = document.getElementById('Canvas_One');
var context = canvas.getContext('2d');
var i = 0; j = 0.1, t = 0;
var col = new Array('green', 'blue', 'red', 'cyan', 'magenta', 'yellow');
function timing() {
t = t + 1;
i = i + j;
var r = 150 * Math.cos(2 * i);
if (t > 5) { t = 0; }
//var r=Math.pow(10000*Math.cos(2*i),0.5);
var x = 200 + r * Math.sin(i); var y = 200 + r * Math.cos(i);
//context.font="40px Georgia";
//context.textAlign='center';
//context.fillText('.',x,y);
//context.fillStyle='purple';
context.beginPath();
context.moveTo(200, 110);
context.lineTo(x, y);
context.lineCap = 'round';
context.strokeStyle = 'rgba(0,0,255,0.5)';
context.stroke();
context.beginPath();
context.moveTo(200, 110);
context.arc(x, y, 5, 0, 2 * Math.PI);
context.fillStyle = col[t];
context.fill();
if (i > 6.4) { j = -0.1; context.clearRect(0, 0, 400, 400); }
if (i < -0.1) { j = 0.1; context.clearRect(0, 0, 400, 400); }
}
window.setInterval('timing()', 400);
</script>

 

All Canvas Animations