rendering lijnen cirkels en vierkanten terug naar de inleiding
De schets fullScreen op open processing
Shape lijn;
Shape cirkelLiBo;
Shape cirkelReOn;
Shape vierkantReBo;
Shape vierkantLiOn;
void setup() {
fullScreen();
// size(640,460);
lijn = new Shape(width/2, height/2, 50);
cirkelLiBo = new Shape(width/4, height/4, 50);
cirkelReOn = new Shape(width/4*3, height/4*3, 50);
vierkantReBo = new Shape(width/4*3, height/4, 50);
vierkantLiOn = new Shape(width/4, height/4*3, 50);
background(#E6FBFF);
}
void draw() {
frameRate(5);
lijn.stappen();
lijn.renderLijn();
cirkelLiBo.stappen();
cirkelLiBo.renderCirkel();
cirkelReOn.stappen();
cirkelReOn.renderCirkel();
vierkantReBo.stappen();
vierkantReBo.renderVierkant();
vierkantLiOn.stappen();
vierkantLiOn.renderVierkant();
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
if (key == 'c') {
setup();
}
}
de class shapes
class Shape {
float x; float y; float l;
float x1; float y1;
float x2; float y2;
Shape(float x_, float y_, float l_) {
x1 = x_; y1 = y_;
x2 = x1; y2 = y1; l = l_;
}
void renderLijn() {
line(x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
void renderCirkel() {
noFill();
ellipse(x2, y2, l-2, l-2);
x1 = x2;
y1 = y2;
}
void renderVierkant() {
rectMode(CENTER);
noFill();
rect(x2, y2, l, l);
x1 = x2;
y1 = y2;
}
void stappen() {
int keuze = int(random(8));
//Afhankelijk van de random keuze worden x en y waarden gekozen
//met verschillende hoeken
if (keuze == 0) { //45 gr --> re onder
strokeWeight(3);
stroke(255, 0, 0);
x2 = x2 + l;
y2 = y2 + l;
} else if (keuze == 1) { //hor --> re
// strokeWeight(1);
// stroke(0);
x2 = x2 + l;
} else if (keuze == 2) { //45 gr --> re boven
x2 = x2 + l;
y2 = y2 - l;
} else if (keuze == 3) { //vert --> boven
strokeWeight(3);
stroke(0,255,0);
y2 = y2 -l;
} else if (keuze == 4) { //45 gr --> li boven
strokeWeight(2);
stroke(0, 0, 255);
y2 = y2 -l;
x2 = x2 -l;
} else if (keuze == 5) { // hor --> links
x2 = x2 - l;
} else if (keuze == 6) { // 45 gr --> li onder
strokeWeight(1);
stroke(255, 0, 0);
x2 = x2 - l;
y2 = y2 + l;
} else { // vert --> beneden
y2 = y2 + l;
}
//Dankzij constrain zie je een randje van 15 px
x2 = constrain(x2, 0+15, width-15);
y2 = constrain(y2, 0+15, height-15);
}
}