vijfhoek "Vhoek_n5". terug naar de inleiding ga ook naar in de rubriek "Gouden vormen" naar de voorbeelden van gouden verhoudingen met vijfhoeken
De algemene formule van de hoeken in graden van een veelhoek is (aantal hoeken-2) * 180/ aantal hoeken. Hier is dat (5-2) * 180 / 5 = 108 graden
De vijfhoek staat bij een hoek van 36 graden op een hoekpunt. Ga naar de site met de formules
float rl = sqrt(50+10*sqrt(5))*n/10; | //lange straal of straal van de buitencirkel | ||
float rk = sqrt(25+10*sqrt(5))*n/10; | //korte straal of straal van de binnencirkel | ||
float h = (rl+rk); | //lijn van vlak naar hoek | ||
float phi ((1+sqrt(5))/2); | //phi is het gouden getal | ||
float nphi = n*phi; | //lijn van hoek naar hoek (nphi lijn) | ||
float k = rl/2*(3-phi); | //lijn van de tophoek naar de nphi lijn | ||
float bl = rl/(2*phi); | //lijn van het middelpunt naar de nphi lijn | ||
float hl12 = (nphi/2-n/2); | //horizontale lijn tussen hoeken 1 en 2 | ||
float hl14 = (n+hl12); | //horizontale lijn tussen hoeken 1 en 4 | ||
float vl12 = (h-k); | //verticale lijn tussen hoeken 1 en 2 |
class Vhoek_n5 extends Vormen {
Vhoek_n5(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);
pushMatrix();
translate(x, y);
rotate(radians(hoek));
float rl = sqrt(50+10*sqrt(5))*n/10; //rl is de lange straal
float rk = sqrt(25+10*sqrt(5))*n/10; //rk is de korte straal
float h = (rl+rk); //h is de lijn van vlak naar hoek
float nphi= ((1+sqrt(5))/2)*n; //nphi is de lijn van hoek naar hoek
float phi= ((1+sqrt(5))/2); //phi wordt gebruikt in k en bl
float k = rl/2*(3-phi); //k is de loodlijn van hoek naar de nphi lijn
float bl = rl/(2*phi); //bl is de loodlijn van het middelpunt naar de nphi lijn
float hl12 = (nphi/2-n/2); //horizontale lijn tussen hoeken 1 en 2
float hl14 = (n+hl12); //horizontale lijn tussen hoek 1 en hoek 4
float vl12 = (h-k); //verticale lijn tussen hoek 1 en 2
beginShape();
if (d == 0) {vertex(-n/2,rk); vertex(-nphi/2,-bl);vertex(0,-rl);
vertex(nphi/2,-bl);vertex(n/2,rk);}
if (d == 1) {vertex(0,0); vertex(-hl12,-vl12);vertex(n/2,-h);
vertex(hl14,-vl12);vertex(n,0);}
if (d == 2) {vertex(hl12,vl12); vertex(0,0);vertex(nphi/2,-k);
vertex(nphi,0); vertex(hl14,vl12);}
if (d == 3) {vertex(-n/2,h); vertex(-nphi/2,k);vertex(0, 0);
vertex(nphi/2,k); vertex(n/2,h);}
if (d == 4) {vertex(-hl14,vl12);vertex(-nphi,0);vertex(-nphi/2,-k);
vertex(0, 0); vertex(-hl12,vl12);}
if (d == 5) {vertex(-n,0); vertex(-hl14,-vl12);vertex(-n/2,-h);
vertex(hl12,-vl12);vertex(0,0);}
if (d == 6) {vertex(-n/2,0); vertex(-nphi/2,-vl12);vertex(0,-h);
vertex(nphi/2,-vl12);vertex(n/2,0);}
endShape(CLOSE);
popMatrix();
}
}