Bewegende lijnen en cirkels. De schets terug naar de inleiding
Lines lijnen;
void setup() {
size(800, 800);
lijnen = new Lines();
}
void draw() {
background(0);
lijnen.display();
lijnen.moveX();
lijnen.moveY();
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}
De class Lines
class Lines {
float x;
float y;
float b;
float snelhX = 0.5;
float snelhY = 1.5;
float teller = 0.005;
Lines() {
}
void display() {
//size = 800*800, beginpunt = 50,50 , eindpunt = 750,750
//Met 5 punten moeten i en j in stappen van 4/700 = 175 toenemen
for (int i = 0; i < width; i = i + 175) {
for (int j = 0; j < height; j = j + 175) {
//Het tekenen van de rode cirkel en lijnen
//wordt langzaam geel
fill(255, map(x, 0, width, 0, 255), 0);
noStroke();
ellipse(x, height-y, 40, 40);
stroke(255, map(x, 0, width, 0, 255), 0);
line(x, height-y, 50+j, 50+i);
if ((i > 351) && (i < 526)) ellipse(i+50,j+50,b,b);
//De groene cirkel en lijnen
//wordt langzaam lichtblauw
fill(0, 255, map(x, 0, width, 0, 255));
noStroke();
ellipse(x, y, 40, 40);
stroke(0, 255, map(x, 0, width, 0, 255));
line(x, y, 50+j, 50+i);
if ((i > 176) && (i < 351)) ellipse(i+50,j+50,b,b);
//blauwe cirkel en lijnen
//wordt langzaam paars
fill(map(x, 0, width, 0, 255), 0, 255);
noStroke();
ellipse(width-x, y, 40, 40);
stroke(map(x, 0, width, 0, 255), 0, 255);
line(width-x, y, 50+j, 50+i);
if (i > 1 && i < 176) ellipse(i+50,j+50,b,b);
//De gele cirkel en lijnen
//wordt langzaam rood
fill(255, map(x, 0, width, 255, 0),0);
noStroke();
ellipse(width-x, height-y, 40, 40);
stroke(255, map(x, 0, width, 255, 0),0);
line(width-x, height-y, 50+j, 50+i);
//ellipse op de knooppunten van de lijnen varrieert in grootte en kleur
//met println(i); vind je i de waarden die als i+1 in het if statement komen
//de waarden zijn dus: 1, 176, 351, 526, en 701
//Hier de if statements voor de eerste en laatste rij
if (i < 1) ellipse(i+50,j+50,b,b);
if ((i > 526) && (i < 701)) ellipse(i+50,j+50,b,b);
b = b + teller;
if (b > 50 || ( b < 0)) teller = teller * -1;
}
}
}
void moveX() {
x = x - snelhX;
if ((x < 0) || (x > height))
{
snelhX = snelhX * -1;
}
}
void moveY() {
y = y - snelhY;
if ((y < 0) || (y > height))
{
snelhY = snelhY * -1;
}
}
}