De schetsen zeilboot en molen staan onder de classen

 class  "Text".                           terug naar de inleiding

De class "Text" werkt in processing maar niet met het processing.js  script.  De schets is voor het internet  omgezet naar p5.js

Met de "s" of "S" toets stopt de animatie, met iedere andere toets start de animatie weer.  Met de  "d" of "D" toets kan je een afbeelding van de animatie downloaden

constructor: 1) tekststring,  2) lettergrootte n,  3) draaipunt d,  4) x positie,  5) y positie, 6) hoek,  7) kleur

 


class Text extends Vormen { 
 
 Text(String text_, float n_, int d_, float x_, float y_, float hoek_, color c1_) {   
 text = text_; 
 n = n_; 
 d = d_; 
 x = x_;  
 y = y_; 
 hoek = hoek_; 
 c1 = c1_; 
}   
  void display() {  
  pushMatrix();  
  translate(x, y); 
  rotate(radians(hoek));   
  textSize(n); 
  if (d == 0)textAlign(CENTER,CENTER); 
  if (d == 1)textAlign(LEFT); 
  if (d == 2)textAlign(LEFT,TOP); 
  if (d == 3)textAlign(CENTER,TOP); 
  if (d == 4)textAlign(RIGHT,TOP); 
  if (d == 5)textAlign(RIGHT); 
  if (d == 6)textAlign(CENTER,BOTTOM); 
  fill(c1); 
  text(text,0,0);  
  popMatrix(); 
 } 
}

Voorbeeld met draaiende windmolen

De schets maakt gebruik van objecten van de class "Text", de gelijkbenige driehoek "Drieh_nh" en de superclass "Vormen"

 

Vormen[] vorm = new Vormen[8];  
  void setup() {  
  size(780,560);  
  float x = width/2;  
  float y = height/2;  
  float n = height/25;  
  vorm[0] = new Text("De wieken van de molen draaien door de wind", n, 0, x-7*n, y, 90, color(0,0,255)); 
  vorm[1] = new Text("De wieken van de molen draaien door de wind", n, 0, x-7*n, y, 0, color(0,0,255)); 
  vorm[2] = new Drieh_nh(n*6, 10*n, 3, x-7*n, y, 0, color(255, 0, 0, 100));  
  vorm[3] = new Text("De wieken van de molen draaien door de wind", n, 0, x+7*n, y, 135, color(0,0,255)); 
  vorm[4] = new Text("De wieken van de molen draaien door de wind", n, 0, x+7*n, y, 45, color(0,0,255)); 
  vorm[5] = new Drieh_nh(n*6, 10*n, 3, x+7*n, y, 0, color(255, 0, 0, 100));  
  vorm[6] = new Text("Waar komt de wind vandaan?", n, 1, x-17*n, y-10*n, 0, color(0,0,255)); 
  vorm[7] = new Text("Waar komt de wind vandaan?", n, 5, x+17*n, y-10*n, 0, color(0,0,255)); 
}  
  
void draw() {  
  background(#E6FBFF);  
   for (int i = 0; i < 8; i++) 
  { 
    vorm[i].display();  
  } 
  vorm[6].xReLi(); 
  vorm[7].xLiRe(); 
  vorm[0].dpRotLi(vorm[0]); 
  vorm[1].dpRotLi(vorm[1]);     
  vorm[3].dpRotRe(vorm[3]); 
  vorm[4].dpRotRe(vorm[4]); 
}  
  
 void keyPressed() {        
   if (key == 's') {       
    noLoop();       
  }      
  
   if (key == 'r') {          
    loop();       
  }       
 }

voorbeeld met zeilende zeilboot

de schets maakt gebruik van objecten van de class "Text", "Rechthoek""Drieh_nh90" , "Trap_3nan" en de superclass "Vormen"

 

Vormen[] vorm = new Vormen[10]; 
  void setup() {  
//fullScreen(); 
  size(780,560);  
  float x = width/2;  
  float y = height/2;  
  float n = height/20; 
  vorm[0] = new Text("De zeilboot zeilt door de wind", n/2, 5, x-6.5*n, y-5*n, 0, color(0,0,255)); 
  vorm[1] = new Trap_3nan(n*2,     4,  x-6*n, y,     180, color(255, 0, 0, 100));  
  vorm[2] = new Rechthoek(n/5,n*4, 7,  x-6*n, y-2*n,   0, color(0,255,0, 100)); 
  vorm[3] = new Drieh_nh90(n*3,3*n,1,5,x-6*n, y-2.5*n,90, color(200, 0, 100, 100));    
  vorm[4] = new Text("De zeilboot zeilt door de wind", n/2, 1, x+6.5*n, y+2*n, 0, color(0,0,255)); 
  vorm[5] = new Trap_3nan(n*2, 4, x+6*n, y+7*n, 180, color(255, 0, 0, 100));  
  vorm[6] = new Rechthoek(n/5,n*4, 1, x+6*n,  y+5*n,     0, color(0,255,0, 100)); 
  vorm[7] = new Drieh_nh90(n*3, 3*n, 0, 1, x+6*n, y+4.5*n, -90, color(200, 0, 100, 100));     
  vorm[8] = new Text("Waar komt de wind vandaan?", n, 1, x-12*n, y+9*n, 0, color(0,0,255)); 
  vorm[9] = new Text("Waar komt de wind vandaan?", n, 5, x+12*n, y-8*n, 0, color(0,0,255)); 
}  
  
void draw() {  
  background(#E6FBFF); 
   for (int i = 0; i < 10; i++) 
  { 
     vorm[i].display();  
  } 
   
   for (int i = 0; i < 4; i++) 
  { 
     vorm[i].xReLi();  
  } 
 
   for (int i = 4; i < 8; i++) 
  { 
     vorm[i].xLiRe();  
  } 
   vorm[8].xReLi(); 
   vorm[9].xLiRe(); 
}  
  
 void keyPressed() {        
   if (key == 's') {       
    noLoop();       
  }      
  
   if (key == 'r') {          
    loop();       
  }       
 }