De curven gespiegeld in x en y as

 

 curve object 1

Curve object 1

 

 

 

 

 

 

 

 

 

Bezierquadratic cubic schets. "Bezier structuur"                                              terug naar de inleiding
 
De schets maakt gebruik van de class "BezierQuadrCub"  zie  curven classes   en de superclass ¨Curven¨
          
De schets bestaat uit 4 bezierquadratic cubic objecten, waarvan object1 is  samengesteld mbv de Bezierquadratic cubic curve, constructor creator
waarmee je de 3 ankerpunten (rood, groen en blauw) en de controlepunten (geel, paars en bruin) in een gewenste positie kan plaatsen.
De coordinaten van deze punten vervolgens als argumenten in de constructor plaatsen
De overige 3 objecten zijn gespiegeld in de x en y as
 
Omdat quadraticVertex() niet met processing.js werkt draait de schets, omgezet naar p5.js in de WEBGL mode, op deze server.
De schets in p5.js werkt ook niet op openprocessing maar draait wel, met een nieuwere versie van p5.js op deze server.
 
Het kunstwerk heet "Bezier structuur". in fullScreen.
Met de "s" toets stoppen, en met de "r" toets starten de bewegingen weer.
 
 


Curven object1;  
Curven object2;  
Curven object3;  
Curven object4; 
  
 float x;  
 float y;  
 float n;  
  
void setup() {  
//size(960, 540);  
fullScreen();  
 x = width/2;  
 y = height/2;  
 n = height/20;  
  
                               //a1=rood, a2=groen en a3=blauw  
 object1 = new BezierQuadrCub(x-7*n,y-7*n, x,y-2*n, x,y+5*n,  
                              //c1=geel, c2=paars en c3=bruin  
                               x,y-4*n, x-7*n,y-5*n, x-7*n,y,  
 color(237, 17, 17,100));  
  
                                //a1=rood, a2=groen en a3=blauw  
 object2 = new BezierQuadrCub(x+7*n,y-7*n, x,y-2*n, x,y+5*n,  
                              //c1=geel, c2=paars en c3=bruin  
                              x,y-4*n, x+7*n,y-5*n, x+7*n,y,  
 color(273, 17, 17,100));  
  
                               //a1=rood, a2=groen en a3=blauw  
 object3 = new BezierQuadrCub(x+7*n,y+7*n, x,y+2*n, x,y-5*n,  
                              //c1=geel, c2=paars en c3=bruin  
                              x,y+4*n, x+7*n,y+5*n, x+7*n,y,  
 color(237, 17, 17,100));  
  
                              //a1=rood, a2=groen en a3=blauw  
 object4 = new BezierQuadrCub(x-7*n,y+7*n, x,y+2*n, x,y-5*n,  
                              //c1=geel, c2=paars en c3=bruin  
                             x,y+4*n, x-7*n,y+5*n, x-7*n,y,  
 color(273, 17, 17,100));  
  
}
 
void draw() {  
 background(#E6FBFF);  
 strokeWeight(2);  
 object1.display();  
 object2.display();  
 object3.display();  
 object4.display();  
 object1.ya2Up();  
 object1.ya3Down();  
 object2.ya2Up();  
 object2.ya3Down();  
 object3.ya3Down();  
 object3.ya2Up();  
 object4.ya3Down();  
 object4.ya2Up();  
 if (frameCount > 600)  
 {  
 object1.ya1= y+7*n;  
 object2.ya1= y+7*n;  
 object3.ya1= y-7*n;  
 object4.ya1= y-7*n;  
 }  
 if (frameCount > 600 && frameCount < 1200)  
 {  
 object1.ya1= y-7*n;  
 object2.ya1= y-7*n;  
 object3.ya1= y+7*n;  
 object4.ya1= y+7*n;  
 }  
 if (frameCount > 1200) frameCount = 0;  
}  
  
void keyPressed() {  
 if (key == 's') {  
 noLoop();  
 }  
 if (key == 'r') {  
 loop();  
 }  
}