De 8 curven met raaklijnen, anker- en controlepunten, ca=10 en cb=5

De 8 curven met raaklijnen, anker- en controlepunten,
ca=10 en cb=5
 
ca=10 en cb=5
 
 ca=10 en cb=5
 
 
ca=10 en cb=5
 
ca=5 en cb=10
 
ca=5 en cb=10
 
ca=5 en cb=10

Bezier cubic animatie met 8 objecten in een vierkant.            terug naar de inleiding

De schets maakt gebruik van de class "BezierCub" zie  curven classes   en de  superclass ¨Curven¨

De ankerpunten van de objecten bevinden zich bij het starten van de animatie in het x,y punt.

De ankerpunten van objecten 1 t/m 4 bewegen zich diagonaal naar buiten, en die van 5 t/m 8 bewegen zich diagonaal naar binnen.

Zie ook de Bezier Cubic curve constructor creator.

Bekijk de animatie in fullScreen(): . Met de "s" toets stopt, en met de "r" toetst start de animatie.
 

Curven object1, object2, object3, object4; 
Curven object5, object6, object7, object8; 
 
void setup() {   
size(960, 540);   
//fullScreen(); 
 float x = width/2; 
 float y = height/2; 
 float n = height/25; 
 //ca is de integer tbv controlepunten van objecten 1 t/m 5 
 int ca = 5; 
 //cb is de integer tbv controlepunten van objecten 6 t/m 8 
 int cb = 10; 
        //ankerpunten: a1=rood, a2=groen, controlepunten: c1=geel en c2=paars 
 object1 = new BezierCub(x,y,  x,y,     x-ca*n,y-ca*n,  x+ca*n,y-ca*n,      
                          color(235, 17, 17,100));                           
                           
 object2 = new BezierCub(x,y,   x,y,    x-ca*n,y+ca*n,  x+ca*n,y+ca*n,                           
                          color(0, 250, 17, 100));                          
                                        
 object3 = new BezierCub(x,y,   x,y,    x-ca*n,y-ca*n,  x-ca*n,y+ca*n,                          
                          color(0, 17, 255, 100));                        
                                      
 object4 = new BezierCub(x,y,   x,y,    x+ca*n,y-ca*n,  x+ca*n,y+ca*n,        
                          color(235, 255, 17, 100));   
                           
 object5 = new BezierCub(x,y,   x,y,    x-cb*n,y-cb*n,  x+cb*n,y-cb*n,     
                          color(0, 250, 17,100));                            
                           
 object6 = new BezierCub(x,y,   x,y,    x+cb*n,y+cb*n, x-cb*n,y+cb*n,                           
                          color(235, 17, 17,100));                           
                                    
 object7 = new BezierCub(x,y,   x,y,    x-cb*n,y-cb*n, x-cb*n,y+cb*n,                           
                          color(235, 250, 17, 100));                           
                                       
 object8 = new BezierCub(x,y,   x,y,    x+cb*n,y+cb*n, x+cb*n,y-cb*n,       
                          color(0, 0, 255, 100));                                      
} 
 
void draw() {  
 background(#E6FBFF); 
 strokeWeight(1);  
  object1.display(); 
  object1.xya1LiBo(); 
  object1.xya2ReBo(); 
 
  object2.display();  
  object2.xya1LiOn(); 
  object2.xya2ReOn(); 
   
  object3.display(); 
  object3.xya1LiBo(); 
  object3.xya2LiOn(); 
   
  object4.display(); 
  object4.xya1ReBo(); 
  object4.xya2ReOn(); 
   
  object5.display(); 
  object5.xya2ReOn(); 
  object5.xya1LiOn(); 
 
  object6.display();  
  object6.xya1ReBo(); 
  object6.xya2LiBo(); 
   
  object7.display(); 
  object7.xya2ReOn(); 
  object7.xya1ReBo(); 
   
  object8.display(); 
  object8.xya1LiOn(); 
  object8.xya2LiBo(); 
} 
 
void keyPressed() {   
 if (key == 's') {   
 noLoop();   
 }   
 if (key == 'r') {   
 loop();   
 }   
}