Bewegende lijnen en cirkels. De schets          terug naar de inleiding

 

Lines lijnen;
void setup() {
size(800, 800); 
 lijnen = new Lines();
}
void draw() { 
 background(0); 
 lijnen.display(); 
 lijnen.moveX(); 
 lijnen.moveY(); 
}
void keyPressed() {  
 if (key == 's') {  
 noLoop();  
 }  
 if (key == 'r') {  
 loop();  
 }  
}
 
De class Lines
 
 

class Lines { 
 float x; 
 float y; 
 float b; 
 float snelhX = 0.5; 
 float snelhY = 1.5; 
 float teller = 0.005;
Lines() { 
 }
void display() {  
 //size = 800*800, beginpunt = 50,50 , eindpunt = 750,750 
 //Met 5 punten moeten i en j in stappen van 4/700 = 175 toenemen 
 for (int i = 0; i < width; i = i + 175) { 
 for (int j = 0; j < height; j = j + 175) { 
  
 //Het tekenen van de rode cirkel en lijnen  
 //wordt langzaam geel 
 fill(255, map(x, 0, width, 0, 255), 0); 
 noStroke(); 
 ellipse(x, height-y, 40, 40);  
 stroke(255, map(x, 0, width, 0, 255), 0);  
 line(x, height-y, 50+j, 50+i); 
 if ((i > 351) && (i < 526)) ellipse(i+50,j+50,b,b);  
  
 //De groene cirkel en lijnen  
 //wordt langzaam lichtblauw 
 fill(0, 255, map(x, 0, width, 0, 255)); 
 noStroke(); 
 ellipse(x, y, 40, 40);  
 stroke(0, 255, map(x, 0, width, 0, 255));  
 line(x, y, 50+j, 50+i);  
 if ((i > 176) && (i < 351)) ellipse(i+50,j+50,b,b);  
  
 //blauwe cirkel en lijnen 
 //wordt langzaam paars 
 fill(map(x, 0, width, 0, 255), 0, 255); 
 noStroke(); 
 ellipse(width-x, y, 40, 40);  
 stroke(map(x, 0, width, 0, 255), 0, 255);  
 line(width-x, y, 50+j, 50+i);  
 if (i > 1 && i < 176) ellipse(i+50,j+50,b,b); 
  
 //De gele cirkel en lijnen 
 //wordt langzaam rood 
 fill(255, map(x, 0, width, 255, 0),0); 
 noStroke(); 
 ellipse(width-x, height-y, 40, 40);  
 stroke(255, map(x, 0, width, 255, 0),0);  
 line(width-x, height-y, 50+j, 50+i); 
  
 //ellipse op de knooppunten van de lijnen varrieert in grootte en kleur 
 //met println(i); vind je i de waarden die als i+1 in het if statement komen 
 //de waarden zijn dus: 1, 176, 351, 526, en 701 
 //Hier de if statements voor de eerste en laatste rij 
 if (i < 1) ellipse(i+50,j+50,b,b); 
 if ((i > 526) && (i < 701)) ellipse(i+50,j+50,b,b);  
  
 b = b + teller; 
 if (b > 50 || ( b < 0)) teller = teller * -1; 
 } 
 }  
 }
void moveX() {  
 x = x - snelhX;  
 if ((x < 0) || (x > height)) 
 {  
 snelhX = snelhX * -1; 
 } 
 }
void moveY() {  
 y = y - snelhY;  
 if ((y < 0) || (y > height))  
 {  
 snelhY = snelhY * -1; 
 } 
 } 
}