Return to menu
/* 
 
   Structure 3 (work in progress) 
   
   A surface filled with one hundred medium to small sized circles. 
   Each circle has a different size and direction, but moves at the same slow rate. 
   Display: 
   A. The instantaneous intersections of the circles 
   B. The aggregate intersections of the circles 
 
   Implemented by Casey Reas <http://groupc.net> 
   Uses circle intersection code from William Ngan <http://metaphorical.net> 
   Processing v.68 <http://processing.org> 
 
*/ 
 
int numCircle = 100; 
Circle[] circles = new Circle[numCircle]; 
 
void setup() 
{ 
  size(640, 480); 
  framerate(30); 
  for(int i=0; i<numCircle; i++) { 
    circles[i] = new Circle(random(width), random(height), random(2, 6)*10); 
  } 
  ellipseMode(CENTER_DIAMETER); 
  background(255); 
} 
 
 
void draw() 
{ 
  stroke(0, 10); 
  for(int i=0; i<numCircle; i++) { 
    circles[i].update(); 
  } 
} 
 
 
class Circle { 
 
  float x, y, r; 
 
  Circle( float px, float py, float pr) { 
    x = px; 
    y = py; 
    r = pr; 
  } 
  
  void update() { 
    noFill(); 
    stroke(0); 
    ellipse(x, y, r, r); 
  } 
}