Bezier Quadratic Quadratic Logo
animatie met twee gekoppelde kwadratische bezier curven. terug naar de inleiding ga naar de animatie in fullScreen().
Met de "s" toets stopt, en met de "r" toets start de animatie. Met de "d" toets kan je een afbeelding van de animatie downloaden.
De schets maakt gebruik van objecten van de class ¨Bezier2Quadr¨ zie curven classes en objectmethodes van 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
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();
}
}