Bezier Cubic Quadratic Cubic animatie
Een animatie met gekoppelde Cubic Quadratic Cubic curven. terug naar de inleiding ga naar de animatie in fullScreen():
De schets maakt gebruik van objecten van de class "BezierCubQuadrCub" zie curven classes en objectmethodes van de superclass "Curven"
Object1 is samengesteld mbv de Bezier cubic quadratic cubic curve constructor creator.
Object2 (groen) is object1 is gespiegeld in de x as.
Bekijk de animatie in fullScreen(): . Met de "s" toets stopt, en met de "r" toetst start de animatie.
Bekijk de animatie met raaklijnen, anker- en controlepunten, ankerpunten 1 en 4 bewegen zich op en neer
De animatie met raaklijnen maakt gebruik van een BezierCubQuadrCub class die de raaklijnen tekent
Zie de class BezierCubQuadrCub in p5.js
Curven object1;
Curven object2;
void setup() {
//size(960, 540);
fullScreen();
float x = width/2;
float y = height/2;
float n = height/40;
//ankerpunten: a1=rood, a2=groen, a3=blauw, a4= lichtblauw
object1 = new BezierCubQuadrCub(x,y, x+20*n,y+5*n, x-20*n,y+5*n, x,y,
//controlepunten: c1=geel, c2=paars, c3=lichtbruin c4=lichtgroen c5=bruin
x-20*n,y-10*n, x-3*n,y-6*n, x,y-15*n, x+3*n,y-6*n, x+20*n,y-10*n,
color(247, 63, 35, 100));
//ankerpunten: a1=rood, a2=groen, a3=blauw a4= lichtblauw
object2 = new BezierCubQuadrCub(x,y, x+20*n,y-5*n, x-20*n,y-5*n, x,y,
//controlepunten: c1=geel, c2=paars, c3=lichtbruin c4= lichtgroen c5=bruin
x-20*n,y+10*n, x-3*n,y+6*n, x,y+15*n, x+3*n,y+6*n, x+20*n,y+10*n,
color(0, 255, 35, 100));
}
void draw() {
background(#E6FBFF);
strokeWeight(1);
object1.display();
object1.xa3Re();
object1.xa2Li();
object1.ya3Up();
object1.ya2Up();
object1.ya1Down();
object1.ya4Down();
object2.display();
object2.xa3Re();
object2.xa2Li();
object2.ya3Down();
object2.ya2Down();
object2.ya1Up();
object2.ya4Up();
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}