gelijkzijdig parallellogram of ruit: "Ruit" terug naar de inleiding
voorbeelden
de zijden: n ruiten en trapeziums
de lange diagonaal: 2* hn = 2*sqrt(3*n*n/4); ruiten en gelijkzijdige driehoeken
de korte diagonaal: n tien ruiten en drie boxenboxen
class Ruit extends Vormen {
Ruit(float n_, int d_, float x_, float y_, float hoek_, color c1_) {
super();
n = n_;
x = x_;
y = y_;
hoek = hoek_;
c1 = c1_;
d = d_;
}
void display() {
fill(c1);
// noStroke();
pushMatrix();
translate(x, y);
rotate(radians(hoek));
beginShape();
float hn = sqrt(3*n*n/4);
if (d == 0) {vertex(0, hn); vertex(-n/2, 0); vertex(0, -hn); vertex(n/2, 0);}
if (d == 1) {vertex(0, 0); vertex(-n/2, -hn); vertex(0, -2*hn); vertex(n/2,-hn);}
if (d == 2) {vertex(n/4, hn/2);vertex(-n/4, -hn/2); vertex(n/4, -3*hn/2); vertex(3*n/4, -hn/2);}
if (d == 3) {vertex(n/2, hn); vertex(0, 0); vertex(n/2, -hn); vertex(n, 0);}
if (d == 4) {vertex(n/4, 3*hn/2); vertex(-n/4, hn/2); vertex(n/4, -hn/2); vertex(3*n/4, hn/2);}
if (d == 5) {vertex(0, 2*hn); vertex(-n/2, hn); vertex(0, 0); vertex(n/2, hn);}
if (d == 6) {vertex(-n/4, 3*hn/2); vertex(-3*n/4, hn/2); vertex(-n/4, -hn/2);vertex(n/4, hn/2);}
if (d == 7) {vertex(-n/2, hn); vertex(-n, 0); vertex(-n/2, -hn); vertex(0, 0);}
if (d == 8) {vertex(-n/4, hn/2); vertex(-3*n/4, -hn/2); vertex(-n/4, -3*hn/2); vertex(n/4, -hn/2);}
endShape(CLOSE);
popMatrix();
}
}