De "Ruitjes" class. terug naar de inleiding
De horizotale en verticale lijnen worden vanuit het middelpunt (width/2, height/2) getekend
De lijnen hebben een afstand "i" tot elkaar want i = i + n.
In deze class is "n" de breedte en hoogte van een vakje.
Met de methode dpAan in de superclass "Vormen" worden de draaipunten als rode puntjes aangegeven.
In de "Ruitjes" class onder deze class is "nx" de breedte en "ny" de hoogte van een vakje
class Ruitjes {
float y;
float x;
float n;
Ruitjes(float n_, float x_, float y_) {
x = x_;
y = y_;
n = n_;
}
void display() {
strokeWeight(1);
stroke(0);
// 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
}
strokeWeight(2);
stroke(255, 0, 0);
//rode assenstelsel
line(0, height/2, width, height/2);
line(width/2, 0, width/2, height);
stroke(0);
strokeWeight(n/5);
//om de 5 vakjes een controle puntje plaatsen
for (int k = 0; k < height; k = k+5) {
point(x-k*n, y);
point(x+k*n, y);
point(x, y-k*n);
point(x, y+k*n);
}
strokeWeight(1);
stroke(0);
}
}
De "Ruitjes" class waarin nx = de breedte van het vakje en ny = de hoogte van het vakje
class Ruitjes {
float y;
float x;
float nx;
float ny;
// constructor 1) nx = breedte 2) ny is de hoogte van een vakje
Ruitjes(float nx_, float ny_, float x_, float y_) {
x = x_;
y = y_;
nx = nx_;
ny = ny_;
}
void display() {
strokeWeight(1);
stroke(0);
// horizontale lijntjes ny is de afstand tussen de horizontale lijnen
for (float i = 0; i < height/2; i = i + ny) {
line(0,height/2+i,width, height/2+i); //naar beneden
line(0,height/2-i,width, height/2-i); //naar boven
}
//verticale lijntjes nx is de afstand tussen de verticale lijnen
for (float i = 0; i < width/2; i = i + nx) {
line(width/2+i,0, width/2+i,height); //naar rechts
line(width/2-i,0, width/2-i,height); //naar links
}
strokeWeight(2);
stroke(255, 0, 0);
//rode assenstelsel
line(0, height/2, width, height/2);
line(width/2, 0, width/2, height);
stroke(0);
strokeWeight(nx/5);
//om de 5 vakjes een controle puntje plaatsen
for (int k = 0; k < height; k = k+5) {
point(x-k*nx, y);
point(x+k*nx, y);
point(x, y-k*ny);
point(x, y+k*ny);
}
strokeWeight(1);
stroke(0);
}
}