De 4 objecten met raaklijnen, controle- en ankerpunten

 

 

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

Bezier Cubic Quadratic Cubic animatie met 4 objecten

Een animatie met  gekoppelde Cubic Quadratic Cubic curven.             terug naar de inleiding         ga naar de animatie in een vierkant canvas

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

 
 

Curven object1; 
Curven object2; 
Curven object3; 
Curven object4; 
 
void setup() {   
size(800, 800); 
 float x = width/2; 
 float y = height/2; 
 float n = height/40; 
  
             //ankerpunten:  a1=rood,  a2=groen,   a3=blauw,    a4= lichtblauw 
object1 = new BezierCubQuadrCub(x,y, x+20*n,y+5*n, x-20*n,y+5*n, x,y,    
            //controlepunten: c1=geel,      c2=paars,  c3=lichtbruin c4=lichtgroen c5=bruin   
                              x-20*n,y-10*n, x-3*n,y-6*n, x,y-15*n,  x+3*n,y-6*n, x+20*n,y-10*n, 
                              color(247, 63, 35, 100)); 
object2 = new BezierCubQuadrCub(x,y, x+20*n,y-5*n, x-20*n,y-5*n, x,y,    
            //controlepunten: c1=geel,       c2=paars,  c3=lichtbruin c4=lichtgroen c5=bruin   
                              x-20*n,y+10*n, x-3*n,y+6*n, x,y+15*n,   x+3*n,y+6*n,  x+20*n,y+10*n, 
                              color(255, 255, 0, 100));   
                               
             //ankerpunten:  a1=rood,  a2=groen,   a3=blauw,   a4= lichtblauw 
object3 = new BezierCubQuadrCub(x,y, x+5*n,y-20*n, x+5*n,y+20*n, x,y,    
            //controlepunten: c1=geel,       c2=paars,   c3=lichtbruin c4=lichtgroen c5=bruin   
                              x-10*n,y+20*n, x-6*n,y+3*n, x-15*n,y,    x-6*n,y-3*n,  x-10*n,y-20*n, 
                              color(131, 240, 44, 100));  
                             
             //ankerpunten:  a1=rood,  a2=groen,   a3=blauw,    a4=lichtblauw   
object4 = new BezierCubQuadrCub(x,y, x-5*n,y-20*n, x-5*n,y+20*n, x,y,    
            //controlepunten: c1=geel,       c2=paars,    c3=lichtbruin c4=lichtgroen c5=bruin   
                              x+10*n,y+20*n, x+6*n,y+3*n, x+15*n,y,     x+6*n,y-3*n,  x+10*n,y-20*n, 
                              color(44, 240, 222, 100));                                                             
}   
 
void draw() {  
  background(0); 
 // strokeWeight(1); 
  object1.display(); 
  object1.ya1Down(); 
  object1.ya2Down(); 
  object1.ya3Down(); 
  object1.ya4Down(); 
   
  object2.display(); 
  object2.ya1Up(); 
  object2.ya2Up(); 
  object2.ya3Up(); 
  object2.ya4Up(); 
   
  object3.display();  
  object3.xa1Re(); 
  object3.xa2Re(); 
  object3.xa3Re(); 
  object3.xa4Re(); 
   
  object4.display(); 
  object4.xa1Li(); 
  object4.xa2Li(); 
  object4.xa3Li(); 
  object4.xa4Li(); 
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
}