Oscillator
by schrodingers
HTML
<script src="http://p5js.org/js/p5.min.js"></script>
JavaScript
var circles = new Array();
var circleSpacing = 30;
function setup() {
createCanvas(500,500);
var t = 0;
for (var x = 0.0; x < width + circleSpacing; x += circleSpacing){
for (var y = 0.0; y < height + circleSpacing; y += circleSpacing){
append(circles, new Circle(x,y,t));
t -= PI/120;
}
}
}
function draw() {
background(255);
for (var i = 0; i < circles.length; i++){
var c = circles[i];
c.display();
}
if (frameCount < 103)
{
//saveCanvas("b" + str(frameCount) + ".png");
}
}
function Circle(xt, yt, tt){
this.x = xt;
this.y = yt;
this.theta = tt;
this.radius = circleSpacing * 5.0/6;
this.display = function(){
noFill();
stroke(120);
ellipse(this.x,this.y,this.radius*2,this.radius*2);
fill(0);
noStroke();
ellipse(this.x + this.radius * cos(this.theta), this.y + this.radius * sin(this.theta),5,5);
this.theta += TWO_PI / 100;
}
}