diamvar1

 

 

 

 

diamvar2

 

 

 

diamvar4

 

 

 

 

diamvar5

 

 diamvar3

 

diamvar5

 

diamvar6

diameter van vormen varieren.          terug naar de inleiding

bekijk de, op ruitjespapier, in diameter varierende cirkels en vierkant

 

DiamVar rood;   
DiamVar groen;  
DiamVar blauw;  
DiamVar groen2; 
DiamVar paars; 
Ruitjes ruitjespapier; 
 
void setup() {   
  // fullScreen();  
  //De code is uitgelijnd naar een vierkant canvas. 
  //In fullSreen() kloppen de verhoudingen niet meer 
  // size(1000, 1000);  
  size(560, 560); 
  float x = width/2; 
  float y =height/2; 
  float n = height/40; 
  ruitjespapier = new Ruitjes(x, y, n); 
 
  //argumenten van de constructor: x positie, y positie, kleinste diameter  
  //grootste diameter, snelheid en r, g, b, alfa kleur 
  rood   = new DiamVar(x-10*n, y-10*n, n,   20*n, 0.5, color(255, 0, 20, 100));   
  groen  = new DiamVar(x,      y-10*n, 5*n, 15*n, 3,   color(0, 255, 0, 100));   
  blauw  = new DiamVar(x,      y,      5*n, 15*n, 0.5, color(0, 0, 255, 100));  
  groen2 = new DiamVar(x-10*n, y+10*n, 5*n, 20*n, 0.4, color(0, 255, 20, 100)); 
  paars  = new DiamVar(x+10*n, y+10*n, 5*n, 20*n, 0.4, color(255, 0, 255, 100)); 
} 
void draw() {   
  background(#E6FBFF); 
  ruitjespapier.ruitjespapier(); 
  rood.display();   
  rood.kleinGroot(); 
  groen.display();   
  groen.kleinGroot(); 
  blauw.vierkant(); 
  blauw.kleinGroot();  
  groen2.display();   
  groen2.kleinGroot(); 
  paars.display();   
  paars.kleinGroot(); 
} 
void keyPressed() {   
  if (key == 's') {   
    noLoop(); 
  }   
  if (key == 'r') {   
    loop(); 
  } 
}

de klasse ¨DiamVar¨
 
 

class DiamVar {   
  float x;  float y;  float b;   
  float beginvar;  
  float groot;  
  color c;   
  float snelh; 
  float begin; 
  DiamVar(float x_, float y_, float beginvar_, float groot_, float snelh_, color c_) {   
    x = x_;   
    y = y_;   
    beginvar = beginvar_;   
    groot = groot_;  
    snelh = snelh_;  
    c = c_; 
    begin = beginvar; 
  } 
  void display() {  
    fill(c);   
    ellipse(x, y, beginvar, beginvar); 
  } 
  void vierkant() {   
    rectMode(CENTER);   
    fill(c);   
    rect(x, y, beginvar, beginvar); 
  } 
  void kleinGroot() {  
    beginvar = beginvar + snelh;  
    if ((beginvar > groot) || (beginvar < begin))  
    {  
      snelh = snelh * -1; 
    } 
  } 
}

 

 De class ¨Ruitjes¨ voor het ruitjespapier

 
 

class Ruitjes {  
  float x;  
  float y;  
  float n;  
 
  Ruitjes(float x_, float y_, float n_) {  
    x = x_;  
    y = y_;  
    n = n_; 
  }  
 
  void ruitjespapier() {     
    strokeWeight(1);      
    // horizontale lijntjes  
    for (float i = 0; i < height; i = i + n) {      
      line(0, i, width, i); 
    }    
    //verticale lijntjes  
    for (float j = 0; j < width; j = j + n) {      
      line(j, 0, j, height); 
    }     
    strokeWeight(2);    
    stroke(255, 0, 0);    
    //assenstelsel    
    line(0, height/2, width, height/2);    
    line(width/2, 0, width/2, height);   
    strokeWeight(8);  
    //om de 5 vakjes een controle puntje plaatsen  
    for (int k = 5; k < 30; k = k+5) {          
      point(x-k*n, y);  
      point(x+k*n, y);  
      point(x, y-k*n);  
      point(x, y+k*n); 
    }    
    strokeWeight(1);  
    stroke(0); 
  } 
}