curve van object 2
 
curve, object1

 

 Curve van object 2

curve object2

 

 Curve object 3

curve object3

bezquadrcub01
BezierQuadratic cubic schets. "Bezier Chaos"                      terug naar de inleiding
 
 De schets maakt gebruik van de class "BezierQuadrCub"  zie  curven classes   en de superclass  "Curven"
 
De schets bestaat uit 3 bezierquadratic cubic objecten, die zijn samengesteld mbv de bezierquadratic cubic curve, constructor creator
waarmee je de 3 ankerpunten (rood, groen en blauw) en de controlepunten (geel, paars en bruin) op een gewenste positie kan plaatsen.
De coordinaten van deze punten vervolgens als argumenten in de constructor plaatsen
 
Omdat quadraticVertex() niet met processing.js werkt moest ik onderstaande schets omzetten naar p5.js in de WEBGL mode.
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 Chaos". in fullScreen. Ergens is er in de chaos toch structuur te ontdekken. 
Met de "s" toets stoppen, en met de "r" toets starten de bewegingen weer.
 
Door in object1  voor ya2,  "y-3*n" en in object3 voor  ya2, "y+3*n" in te voeren zullen de curven tov elkaar verschuiven.
Er treedt dus geen herhaling op!!
 
 

Curven object1;   
Curven object2;  
Curven object3;  
 
void setup() {   
size(960, 540);   
//fullScreen(); 
 float x = width/2; 
 float y = height/2; 
 float n = height/60; 
 
                              //a1=rood, a2=groen en a3=blauw 
 object1 = new BezierQuadrCub(x-8*n,y-2*n, x,y, x-n,y+5*n, 
                              //c1=geel, c2=paars en c3=bruin 
                              x-8*n,y+6*n, x-10*n,y-5*n, x+6*n,y-4*n, 
                              color(237, 17, 17, 100)); 
                               
                              //a1=rood, a2=groen en a3=blauw                            
 object2 = new BezierQuadrCub(x+10*n,y+3*n, x,y, x-7*n,y+4*n,              
                              //c1=geel, c2=paars en c3=bruin 
                              x-11*n,y-9*n, x-2*n,y-8*n, x+8*n,y-n,  
                              color(0, 250, 17, 100)); 
                               
                              //a1=rood, a2=groen en a3=blauw  
 object3 = new BezierQuadrCub(x-n,y-7*n, x,y, x+8*n,y-4*n,              
                              //c1=geel, c2=paars en c3=bruin 
                              x+7*n,y+5*n, x-4*n,y+5*n, x-10*n,y-3*n,  
                              color(0, 17, 200, 100)); 
}   
void draw() {  
 background(#E6FBFF); 
 // background(0); 
  strokeWeight(2); 
  object1.display(); 
  object2.display(); 
  object3.display(); 
   
  object1.xa1Re(); 
  object1.xa3Li(); 
  object2.xa1Re(); 
  object2.xa3Li(); 
  object3.xa3Li(); 
   
  object1.ya1Up(); 
  object2.ya1Up();  
  object3.ya1Up(); 
   
  object3.ya2Down(); 
  object1.ya2Up(); 
  object2.ya2Down(); 
 
} 
 
void keyPressed() {   
 if (key == 's') {   
 noLoop();  
 }   
 if (key == 'r') {   
 loop();  
 }   
}