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                  ga naar de animatie in fullScreen():

Met de "s" toets stopt, en met de "r" toets start de animatie. Met de "d" toets kan je een afbeelding van de animatie downloaden.

De schets maakt gebruik van objecten van de class "BezierCub" zie  curven classes   en objectmethodes van 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.

 

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();   
 }   
}