Vierkant met z as en keuze uit rotate, rotateX en rotateY terug naar de inleiding
Deze class is nog niet goed uitgetest. Ik heb de z as er gewoon bijgezet.
het javascript processing.js werkt niet met P3D. Om de schets op het internet te tonen moet je de code naar p5.js omzetten
class Vierkant extends Vormen {
Vierkant(float n_, int d_, float x_, float y_, float hoek_, float z_, int rotmod_, color c1_) {
super();
n = n_;
x = x_;
y = y_;
z = z_;
hoek = hoek_;
c1 = c1_;
d = d_;
rotatiemode = rotmod_;
}
void display() {
fill(c1);
// noStroke();
pushMatrix();
translate(x, y, z);
if (rotatiemode == 0) rotate(radians(hoek));
if (rotatiemode == 1) rotateX(radians(hoek));
if (rotatiemode == 2) rotateY(radians(hoek));
beginShape();
if (d == 0) {vertex(-n/2, n/2,z);vertex(-n/2, -n/2,z);vertex(n/2, -n/2,z);vertex(n/2, n/2,z);}
if (d == 1) {vertex(0, 0,z); vertex(0, -n,z); vertex(n, -n,z); vertex(n, 0,z); }
if (d == 2) {vertex(0, n/2,z); vertex(0, -n/2,z); vertex(n, -n/2,z);vertex(n, n/2,z);}
if (d == 3) {vertex(0, n,z); vertex(0, 0,z); vertex(n, 0,z); vertex(n, n,z); }
if (d == 4) {vertex(-n/2, n,z);vertex(-n/2, 0,z); vertex(n/2, 0,z); vertex(n/2, n,z);}
if (d == 5) {vertex(-n, n,z); vertex(-n, 0,z); vertex(0, 0,z); vertex(0, n,z);}
if (d == 6) {vertex(-n, n/2,z);vertex(-n, -n/2,z);vertex(0, -n/2,z);vertex(0, n/2,z);}
if (d == 7) {vertex(-n, 0,z); vertex(-n, -n,z); vertex(0, -n,z); vertex(0, 0,z);}
if (d == 8) {vertex(-n/2, 0,z); vertex(-n/2, -n,z); vertex(n/2, -n,z); vertex(n/2, 0,z);}
endShape(CLOSE);
popMatrix();
}
}