Bezier cubic animatie terug naar de inleiding ga naar de animatie
De schets maakt gebruik van de class "BezierCub" zie curven classes en de superclass ¨Curven¨
De schets bestaat uit 8 BezierCub objecten, waarvan er 2 (object LiBo en object groen) zijn samengesteld mbv de Beziercubic curve, constructor creator
In de constructor creator kan je de 2 ankerpunten (rood, en groen) en de twee controlepunten (paars en bruin) in een gewenste positie kan plaatsen.
De coordinaten van deze punten vervolgens als argumenten in de constructor van de schets plaatsen.
//de op en neer bewegende objecten
Curven reBo;
Curven liBo;
Curven reOn;
Curven liOn;
//de heen en weer bewegende objecten
Curven groen;
Curven rood;
Curven geel;
Curven blauw;
void setup() {
//size(960,540);
fullScreen();
float x = width/2;
float y = height/2;
float nx = height/10;
float ny = height/10;
//Constructor a1 = rood, a2 = groen, c1= geel, c2 = paars
liBo = new BezierCub(x,y, x,y, x-4*nx,y-ny, x-nx,y-4*ny, color(0, 0, 100, 100));
reBo = new BezierCub(x,y, x,y, x+4*nx,y-ny, x+nx,y-4*ny, color(255, 200, 10, 100));
liOn = new BezierCub(x,y, x,y, x-4*nx,y+ny, x-nx,y+4*ny, color(0, 200, 100, 100));
reOn = new BezierCub(x,y, x,y, x+4*nx,y+ny, x+nx,y+4*ny, color(200, 0, 200, 100));
groen = new BezierCub(x,y, x,y, x-3*nx,y-3*ny, x+3*nx,y-3*ny, color(0, 255, 0,100));
rood = new BezierCub(x,y, x,y, x+3*nx,y-3*ny, x+3*nx,y+3*ny,color(255, 0, 0, 100));
geel = new BezierCub(x,y, x,y, x+3*nx,y+3*ny, x-3*nx,y+3*ny,color(255, 255, 0, 100));
blauw = new BezierCub(x,y, x,y, x-3*nx,y+3*ny, x-3*nx,y-3*ny,color(0, 255, 255, 100));
}
void draw() {
background(#E6FBFF);
groen.display();
groen.xa1Li();
geel.display();
geel.xa1Re();
blauw.display();
blauw.xa1Re();
rood.display();
rood.xa1Li();
reBo.display();
reBo.ya1Up();
liBo.display();
liBo.ya1Up();
reOn.display();
liOn.ya1Down();
liOn.display();
reOn.ya1Down();
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}