de 4 objecten
de 4 objecten

 

curve object 1

object 1

 

curve object 3
 
object 3
 
 

 

 

bez2quadr01
 
Bezier Quadratic Quadratic Logo
 
animatie met twee gekoppelde kwadratische bezier curven.                                   terug naar de inleiding
 
De schets maakt gebruik van de class ¨Bezier2Quadr¨  zie  curven classes   en de superclass ¨Curven¨
 
De schets bestaat uit 4 Bezier2Quadr objecten, waarvan object 1 is  samengesteld mbv de Bezier Quadratic Quadratic curve, constructor creator
In de constructor creator kan je de 3 ankerpunten (rood, groen en blauw) en de twee controlepunten (geel en paars) in een gewenste positie plaatsen.
De coordinaten van deze punten kan je vervolgens als argumenten in de constructor van de schets plaatsen
Object 2 is gespiegeld in de x as, object 3 is 90 graden geroteerd en object 4 is gespiegeld in de y as
 
Bekijk de animatie in fullScreen(). Met de s toets stopt, en met de r toets start de animatie
 
 

Curven object1;   
Curven object2;  
Curven object3;  
Curven object4; 
 
void setup() {   
size(1500, 350);   
//fullScreen(); 
 float x = width/2; 
 float y = height/2; 
 float n = height/20; 
 
           //ankerpunten:   a1=rood, a2=groen, a3=blauw 
 object1 = new Bezier2Quadr(x,y-5*n, x-10*n,y,  x,y+5*n,    
          //controlepunten: c1=geel,     c2=paars, 
                            x-8.8*n, y+5*n, x-8.8*n,y-5*n, 
                            color(235, 17, 17,0)); 
                             
          //ankerpunten:   a1=rood, a2=groen, a3=blauw 
 object2 = new Bezier2Quadr(x,y-5*n, x+10*n,y,  x,y+5*n,    
          //controlepunten: c1=geel,     c2=paars, 
                            x+8.8*n, y+5*n, x+8.8*n,y-5*n, 
                            color(0, 250, 17, 0)); 
                             
          //ankerpunten:   a1=rood, a2=groen, a3=blauw                 
 object3 = new Bezier2Quadr(x-5*n,y, x,y-10*n,  x+5*n,y,    
          //controlepunten: c1=geel,     c2=paars, 
                            x+5*n, y-8.8*n, x-5*n,y-8.8*n, 
                            color(0, 17, 255, 0)); 
                             
           //ankerpunten:   a1=rood, a2=groen, a3=blauw                 
 object4 = new Bezier2Quadr(x-5*n,y, x,y+10*n,  x+5*n,y,    
          //controlepunten: c1=geel,     c2=paars, 
                            x+5*n, y+8.8*n, x-5*n,y+8.8*n, 
                            color(235, 17, 17, 0)); 
} 
 
void draw() {  
 background(#E6FBFF); 
 strokeWeight(2);  
  object1.display();  
  object2.display();  
  object1.xa2Re(); 
  object2.xa2Li(); 
  object3.display(); 
  object3.ya2Down(); 
  object4.display(); 
  object4.ya2Up(); 
} 
 
 
void keyPressed() {   
 if (key == 's') {   
 noLoop();   
 }   
 if (key == 'r') {   
 loop();   
 }   
}