De uitgangspositie van de 4 curven

De uitgangspositie van de 4 curven

 

 

 

 

bezierquadrcubquadr00

Bezier Quadratic Cubic Quadratic animatie 2

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

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

Bekijk ook de animatie met de objecten van deze schets en de bewegingsmethoden van Bezier Quadratic Cubic Quadratic animatie 1.

 

 

Curven object1; 
Curven object2; 
Curven object3; 
Curven object4; 
void setup() {   
size(800, 800);   
//fullScreen(); 
 float x = width/2; 
 float y = height/2; 
 float n = height/24; 
 
//object1 is gecreerd met de curve constructor creator 
                 //ankerpunten:  a1=rood,  a2=groen, a3=blauw,     a4=lichtblauw                
object1 = new BezierQuadrCubQuadr(x,y, x-10*n,y+5*n, x+10*n,y+5*n, x,y,     
            //controlepunten: c1=geel,       c2=paars,     c3=bruin      c4=lichtgroen  
                              x+10*n,y-5*n,  x+10*n,y-5*n, x-10*n,y-5*n, x-10*n,y-5*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, x-10*n,y-5*n, x+10*n,y-5*n, x,y,     
            //controlepunten: c1=geel,      c2=paars,      c3=bruin      c4=lichtgroen  
                              x+10*n,y+5*n,  x+10*n,y+5*n, x-10*n,y+5*n, x-10*n,y+5*n,  
                              color(150, 17, 150, 100));  
                               
//object3 is object1 -90 gr geroteerd door: 1) x waarden -> y waarden en y waarden -> x waarden  
 //                                          2) spiegelen in de x as: +y -> -y en -y -> +y                             
                 //ankerpunten:  a1=rood,  a2=groen,  a3=blauw,     a4= lichtblauw  
 object3 = new BezierQuadrCubQuadr(x,y, x+5*n,y+10*n, x+5*n,y-10*n, x,y,     
            //controlepunten: c1=geel,       c2=paars,     c3=bruin      c4=lichtgroen  
                              x-5*n,y-10*n,  x-5*n,y-10*n, x-5*n,y+10*n, x-5*n,y+10*n,  
                              color(150, 255, 0, 100)); 
                               
//object4 is object3 gespiegeld in de y as:   +x -> -x en -x -> +x                            
                  //ankerpunten:  a1=rood,  a2=groen,  a3=blauw,    a4= lichtblauw  
 object4 = new BezierQuadrCubQuadr(x,y, x-5*n,y+10*n, x-5*n,y-10*n, x,y,     
            //controlepunten: c1=geel,       c2=paars,     c3=bruin      c4=lichtgroen  
                              x+5*n,y-10*n,  x+5*n,y-10*n, x+5*n,y+10*n, x+5*n,y+10*n,  
                              color(50, 227, 213, 100));  
} 

 
void draw() {  
  background(#E6FBFF); 
 // background(0); 
  strokeWeight(1); 
 object1.display(); 
  object1.ya1Down(); 
  object1.ya4Down();  
  object1.ya2Up(); 
  object1.ya3Up(); 
   
  object2.display(); 
  object2.ya1Up(); 
  object2.ya4Up();  
  object2.ya2Down(); 
  object2.ya3Down(); 
   
  object3.display(); 
  object3.xa1Li(); 
  object3.xa4Li(); 
  object3.ya2Down(); 
  object3.ya3Up(); 
   
  object4.display(); 
  object4.xa1Re(); 
  object4.xa4Re(); 
  object4.ya2Down(); 
  object4.ya3Up(); 
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
}