object1

object 1

 

object 3

object 3

 

de 4 objecten

de 4 objecten

 

 

 

quadcubquadheader

Bezier Quadratic Cubic Quadratic animatie 1

Een animatie met  gekoppelde Quadratic Cubic Quadratic curven.             terug naar de inleiding

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

object2 is object1 gespiegeld in de x as: +y -> -y en -y -> +y  
object3 is object1 -90 gr gedraaid door: 1) x waarden -> y waarden en y waarden -> x waarden, 2) spiegelen in de x as: +y -> -y en -y -> +y
object4 is object3 gespiegeld in de y as: +x -> -x en -x -> +x
 

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

 

 

Curven object1; 
Curven object2; 
Curven object3; 
Curven object4; 
 
void setup() {   
size(1000, 1000);   
 float x = width/2; 
 float y = height/2; 
 float n = height/24; 
 
//object1 is gecreerd mbv de curve constructor creator 
                   //ankerpunten: a1=rood,  a2=groen,    a3=blauw,    a4=lichtblauw 
object1 = new BezierQuadrCubQuadr(x,y+8*n, x-5*n,y+8*n, x+5*n,y+8*n, x,y+8*n,    
            //controlepunten: c1=geel,      c2=paars,  c3=bruin   c4=lichtgroen 
                              x-7*n,y-10*n,  x,y-10*n, x,y-10*n, x+7*n,y-10*n, 
                              color(247, 63, 35, 100)); 
                               
//object2 is object1 gespiegeld in de x as: +y -> -y en -y -> +y                              
                  //ankerpunten:  a1=rood,  a2=groen,   a3=blauw,     a4= lichtblauw 
object2 = new BezierQuadrCubQuadr(x,y-8*n, x-5*n,y-8*n, x+5*n,y-8*n, x,y-8*n,    
            //controlepunten: c1=geel,      c2=paars,  c3=bruin   c4=lichtgroen 
                              x-7*n,y+10*n,  x,y+10*n, x,y+10*n, x+7*n,y+10*n, 
                              color(150, 17, 150, 100)); 
                               
//object3 is object1 -90 gr gedraaid door: 
//1) x waarden -> y waarden en y waarden -> x waarden 
//2) spiegelen in de x as: +y -> -y en -y -> +y 
object3 = new BezierQuadrCubQuadr(x+8*n,y, x+8*n,y+5*n, x+8*n,y-5*n, x+8*n,y,    
            //controlepunten: c1=geel,      c2=paars,  c3=bruin   c4=lichtgroen 
                             x-10*n, y+7*n, x-10*n, y, x-10*n,y, x-10*n,y-7*n, 
                              color(150, 255, 0, 100));  
                               
//object4 is object3 gespiegeld in de y as: +x -> -x en -x -> +x                             
object4 = new BezierQuadrCubQuadr(x-8*n,y, x-8*n,y+5*n, x-8*n,y-5*n, x-8*n,y,    
            //controlepunten: c1=geel,      c2=paars,  c3=bruin   c4=lichtgroen 
                             x+10*n, y+7*n, x+10*n, y, x+10*n,y, x+10*n,y-7*n, 
                              color(50, 227, 213, 100));         
}   
 
void draw() {  
  background(#E6FBFF); 
  strokeWeight(2); 
  object1.display(); 
  object1.ya1Down(); 
  object1.ya4Down();  
  object1.xa2Re(); 
  object1.xa3Li(); 
  object2.display(); 
  object2.ya1Up(); 
  object2.ya4Up();  
  object2.xa2Re(); 
  object2.xa3Li(); 
  object3.display(); 
  object3.xa1Re(); 
  object3.xa4Re(); 
  object3.ya2Down(); 
  object3.ya3Up(); 
  object4.display(); 
  object4.xa1Li(); 
  object4.xa4Li(); 
  object4.ya2Down(); 
  object4.ya3Up(); 
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
}