Spiraal 9gtgk 07

 

spiralen overprojectie

 

 

spiralen overprojectie

acht roterende spiralen afgeleid van driehoeken
 
De schets maakt gebruik van de class   "Spiraal_8gdt_gk"   en de superclass  "Vormen"               terug naar de inleding

bekijk de  roterende spiralen

 

Vormen[] vorm = new Vormen[8]; 
void setup() {    
   size(780, 560);  
  float x = width/2;    
  float y = height/2;    
  float n = height/6;   
  vorm[0] = new Spiraal_8gdt_gk(n, 1, 0, 8, x+n, y, 0, color(0)); 
  vorm[1] = new Spiraal_8gdt_gk(n, 1, 1, 8, x-n, y, 0, color(0)); 
  vorm[2] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y, 0, color(0)); 
  vorm[3] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y, 0, color(0));   
  vorm[4] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y, 90, color(0)); 
  vorm[5] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y,-90, color(0)); 
  vorm[6] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y,-90, color(0)); 
  vorm[7] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y, 90, color(0)); 
  
}    
void draw() {    
  background(#E6FBFF);    
//  assenstelsel    
  stroke(255, 0, 0);    
  line (width/2, 0, width/2, height);    
  line(0, height/2, width, height/2);    
  stroke(0);   
   for (int i = 0; i < 8; i++)    
  {    
    vorm[i].display();  
  }       
  vorm[0].dpRotLi(vorm[0]);  
  vorm[1].dpRotRe(vorm[1]); 
  vorm[2].dpRotRe(vorm[2]); 
  vorm[3].dpRotLi(vorm[3]); 
  vorm[4].dpRotLi(vorm[4]); 
  vorm[5].dpRotRe(vorm[5]); 
  vorm[6].dpRotLi(vorm[6]); 
  vorm[7].dpRotRe(vorm[7]);  
}   
 
void keyPressed() {      
  if (key == 's') {     
    noLoop(); 
  }    
 
  if (key == 'r') {        
    loop(); 
  } 
}
 
De spiralen in overprojectie
 
Door in de draw functie de code door onderstaande code te vervangen worden de spiralen in overprojectie getoond.
background(#E6FBFF);   naar het setup deel verplaatsen.
Zo worden de spiralen telkens na 15 frameCounts getekend, terwijl de rotaties gewoon doorgaan.
Met de "c" toets begint het tekenen opnieuw.
 
 

void draw() {    
  int op = 15;                          //De spiralen worden telkens na 15 frameCounts getekend. 
  if (frameCount == op) 
  { 
     for (int i = 0; i < 8; i++)    
      {    
         vorm[i].display();  
         frameCount = 0; 
      } 
  } 
   
  vorm[0].dpRotLi(vorm[0]);  
  vorm[1].dpRotRe(vorm[1]); 
  vorm[2].dpRotRe(vorm[2]); 
  vorm[3].dpRotLi(vorm[3]); 
  vorm[4].dpRotRe(vorm[4]); 
  vorm[5].dpRotLi(vorm[5]); 
  vorm[6].dpRotRe(vorm[6]); 
  vorm[7].dpRotLi(vorm[7]);  
}   
 
void keyPressed() {      
  if (key == 's') {     
    noLoop(); 
  }    
 
  if (key == 'r') {        
    loop(); 
  } 
   if (key == 'c') {        
    setup(); 
  } 
}