Lees het stukje over Enkele handige functies. Neem de volgende code over:
float x, y;
void setup() {
size(800, 600);
}
void draw() {
background(0);
stroke(255);
noFill();
rect(300, 200, 150, 100);
x = map(mouseX, 0, width, 300, 450);
y = map(mouseY, 0, height, 200, 300);
fill(255);
ellipse(x, y, 5, 5);
}
Draai de code en probeer het te begrijpen.
Maak een nieuwe sketch.
Recursie is wanneer een functie zichzelf aanroept. Het lijkt op een loop, maar is iets anders. We gaan dit gebruiken om een fractal te maken, een zichzelf herhalend figuur.
Lees het stukje over Coördinatentransformaties. Neem de volgende code over:
int N = 5;
void setup() {
size(800, 600);
strokeWeight(2);
}
void draw() {
background(255);
// begin onderaan het scherm, in het midden
translate(width/2, height);
// teken een boom
drawTree(175, -90, 1);
}
void drawTree(float len, float angle, int level) {
// teken een tak van een boom
if (level <= N) {
// gebruik radians() om graden om te rekenen naar radialen,
// want rotate() snapt alleen radialen.
rotate(radians(angle));
// teken de tak
line(0, 0, len, 0);
// verplaats naar het eind van de tak
translate(len, 0);
// teken een nieuwe tak, iets korter en met een hoek naar links
drawTree(len*0.75, -30, level+1);
}
}