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

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. met de "d" toets een afbeelding van de animatie downloaden

 

 

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