Bezier Quadratic Cubic Quadratic animatie 1
Een animatie met gekoppelde Quadratic Cubic Quadratic curven. terug naar de inleiding ga naar de animatie in fullScreen():
De schets maakt gebruik van de class "BezierQuadrCubQuadr" zie curven classes en de superclass "Curven"
object1 is gecreerd mbv de Bezier quadratic cubic quadratic curve constructor creator.
object2 is object1 gespiegeld in de x as: +y -> -y en -y -> +y
object3 is object1 -90 gr gedraaid door: 1) x waarden -> y waarden en y waarden -> x waarden, 2) spiegelen in de x as: +y -> -y en -y -> +y
object4 is object3 gespiegeld in de y as: +x -> -x en -x -> +x
Bekijk de animatie in fullScreen(): . Met de "s" toets stopt, en met de "r" toetst start de animatie. met de "d" toets een afbeelding van de animatie downloaden
Curven object1;
Curven object2;
Curven object3;
Curven object4;
void setup() {
size(1000, 1000);
float x = width/2;
float y = height/2;
float n = height/24;
//object1 is gecreerd mbv de curve constructor creator
//ankerpunten: a1=rood, a2=groen, a3=blauw, a4=lichtblauw
object1 = new BezierQuadrCubQuadr(x,y+8*n, x-5*n,y+8*n, x+5*n,y+8*n, x,y+8*n,
//controlepunten: c1=geel, c2=paars, c3=bruin c4=lichtgroen
x-7*n,y-10*n, x,y-10*n, x,y-10*n, x+7*n,y-10*n,
color(247, 63, 35, 100));
//object2 is object1 gespiegeld in de x as: +y -> -y en -y -> +y
//ankerpunten: a1=rood, a2=groen, a3=blauw, a4= lichtblauw
object2 = new BezierQuadrCubQuadr(x,y-8*n, x-5*n,y-8*n, x+5*n,y-8*n, x,y-8*n,
//controlepunten: c1=geel, c2=paars, c3=bruin c4=lichtgroen
x-7*n,y+10*n, x,y+10*n, x,y+10*n, x+7*n,y+10*n,
color(150, 17, 150, 100));
//object3 is object1 -90 gr gedraaid door:
//1) x waarden -> y waarden en y waarden -> x waarden
//2) spiegelen in de x as: +y -> -y en -y -> +y
object3 = new BezierQuadrCubQuadr(x+8*n,y, x+8*n,y+5*n, x+8*n,y-5*n, x+8*n,y,
//controlepunten: c1=geel, c2=paars, c3=bruin c4=lichtgroen
x-10*n, y+7*n, x-10*n, y, x-10*n,y, x-10*n,y-7*n,
color(150, 255, 0, 100));
//object4 is object3 gespiegeld in de y as: +x -> -x en -x -> +x
object4 = new BezierQuadrCubQuadr(x-8*n,y, x-8*n,y+5*n, x-8*n,y-5*n, x-8*n,y,
//controlepunten: c1=geel, c2=paars, c3=bruin c4=lichtgroen
x+10*n, y+7*n, x+10*n, y, x+10*n,y, x+10*n,y-7*n,
color(50, 227, 213, 100));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
object1.display();
object1.ya1Down();
object1.ya4Down();
object1.xa2Re();
object1.xa3Li();
object2.display();
object2.ya1Up();
object2.ya4Up();
object2.xa2Re();
object2.xa3Li();
object3.display();
object3.xa1Re();
object3.xa4Re();
object3.ya2Down();
object3.ya3Up();
object4.display();
object4.xa1Li();
object4.xa4Li();
object4.ya2Down();
object4.ya3Up();
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}