statische curven op ruitjespapier terug naar de inleiding
De rode curve is de bezier cubic curve met twee ankerpunten en twee controlepunten
De blauwe curve is de bezier quadratic curve met een ankerpunt en twee controlepunten
De groene curve is de curve functie met twee ankerpunten en twee controlepunten
size(960, 540);
background(#E6FBFF);
float x = width/2;
float y = height/2;
float n = height/20;
//code voor het ruitjespapier
// horizontale lijntjes
for (float i = 0; i < height/2; i = i + n) {
line(0, height/2+i, width, height/2+i); //naar beneden
line(0, height/2-i, width, height/2-i); //naar boven
}
//verticale lijntjes
for (float i = 0; i < width/2; i = i + n) {
line(width/2+i, 0, width/2+i, height); //naar rechts
line(width/2-i, 0, width/2-i, height); //naar links
}
//assenstelsel
strokeWeight(2);
stroke(255, 0, 0);
line(width/2, 0, width/2, height);
line(0, height/2, width, height/2);
//---------------rode bezier cubic curve met de rode controlepunten-------------//
//1)eerste ankerpunt, 2)eerste controlepunt, 3)tweede controlepunt, 4)tweede ankerpunt
noFill();
bezier(x-2*n, y, x-6*n, y-8*n, x+6*n, y-8*n, x+2*n, y);
strokeWeight(n/3);
stroke(255, 0, 0);
//rode controle punten van de bezier curve
point(x-6*n, y-8*n);
point(x+6*n, y-8*n);
//de blauwe ankerpunten van de beziercurve
stroke(0, 0, 255);
point(x-2*n, y);
point(x+2*n, y);
//de lijnen van ankerpunten naar controlepunten
stroke(0);
strokeWeight(2);
line(x-6*n, y-8*n, x-2*n, y);
line(x+6*n, y-8*n, x+2*n, y);
//----------------------blauwe bezier quadratic curve-------------------------
//met twee ankerpunten en een controlepunt
noFill();
stroke(0, 0, 255);
beginShape();
vertex(x-2*n, y); //eerste ankerpunt
quadraticVertex(x, y-8*n, x+2*n, y); //controlepunt en tweede ankerpunt
endShape();
//Het gele controle punt
strokeWeight(n/2);
stroke(255, 255, 0);
point(x, y-8*n);
//de twee raaklijnen van ankerpunten naar controlepunt
strokeWeight(2);
stroke(0);
line(x-2*n, y, x, y-8*n);
line(x+2*n, y, x, y-8*n);
//------------------------de groene curve -----------------------------
//De ankerpunten van de bezier curve zijn de controlepunten van de curve
//De controlepunten van de bezier curve zijn de ankerpunten van de curve
stroke(0, 255, 0);
noFill();
strokeWeight(n/15);
//1)begin controle punt, 2) ankerpunt 1, 3) ankerpunt 2, 4) eind controle punt
curve(x-2*n, y, x-6*n, y-8*n, x+6*n, y-8*n, x+2*n, y);
stroke(255, 0, 0);
point(x-6*n, y-8*n);
point(x+6*n, y-8*n);