de 9 draaipunten
hoek, "Hoek_n4n" ga naar de animatie met de roterende hoeken terug naar de inleiding
hoek, n dik, 4n lang
class Hoek_n4n extends Vormen {
Hoek_n4n(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 a;
a = sqrt(2*n*n);
if (d == 0) {vertex(3*a/2, a/2); vertex(0, -a); vertex(-3*a/2 , a/2); vertex(-2*a, 0); vertex(0, -2*a); vertex(2*a, 0);}
if (d == 1) {vertex(3*a, 0); vertex(3*a/2, -3*a/2); vertex(0 , 0); vertex(-a/2, -a/2); vertex(3*a/2, -5*a/2); vertex(7*a/2, -a/2);}
if (d == 2) {vertex(7*a/2, a/2); vertex(2*a, -a); vertex(a/2 , a/2); vertex(0, 0); vertex(2*a, -2*a); vertex(4*a, 0);}
if (d == 3) {vertex(-a/2, 3*a/2);vertex(-a, a); vertex(a , -a); vertex(3*a, a); vertex(5*a/2, 3*a/2); vertex(a, 0);}
if (d == 4) {vertex(3*a/2, 5*a/2); vertex(0, a); vertex(-3*a/2 , 5*a/2);vertex(-2*a, 2*a); vertex(0, 0); vertex(2*a, 2*a);}
if (d == 5) {vertex(-5*a/2, 3*a/2);vertex(-3*a, a); vertex(-a , -a); vertex(a, a); vertex(a/2, 3*a/2); vertex(-a, 0);}
if (d == 6) {vertex(-a/2, a/2); vertex(-2*a, -a); vertex(-7*a/2 , a/2); vertex(-4*a, 0); vertex(-2*a, -2*a); vertex(0, 0);}
if (d == 7) {vertex(0, 0); vertex(-3*a/2, -3*a/2); vertex(-3*a, 0); vertex(-7*a/2, -a/2); vertex(-3*a/2, -5*a/2); vertex(a/2,-a/2);}
if (d == 8) {vertex(3*a/2, 3*a/2); vertex(0, 0); vertex(-3*a/2, 3*a/2); vertex(-2*a, a); vertex(0, -a); vertex(2*a, a);}
endShape(CLOSE);
popMatrix();
}
}
schets met roterende hoeken. ga naar de animatie met de roterende hoeken
Vormen vorm0; Vormen vorm1; Vormen vorm2;
Vormen vorm3; Vormen vorm4; Vormen vorm5;
void setup() {
size(780,560);
//fullScreen();
float x = width/2;
float y = height/2;
float n = height/16;
float a = sqrt(2*n*n);
vorm0 = new Hoek_n4n(n,2, x-4*a, y-3*a/2, 0, color(255,255,0,100));
vorm1 = new Hoek_n4n(n,6, x+4*a, y-3*a/2, 0, color(255,255,0,100));
vorm2 = new Hoek_n4n(n,2, x-4*a, y-3*a/2, 90, color(255,0,0,100));
vorm3 = new Hoek_n4n(n,7, x, y-a/2, -90, color(0,0,255,100));
vorm4 = new Hoek_n4n(n,1, x, y-a/2, 90, color(0,255,0,100));
vorm5 = new Hoek_n4n(n,6, x+4*a, y-3*a/2,-90, color(0,255,0,100));
}
void draw() {
background(#E6FBFF);
//assenstelsel
stroke(255, 0, 0);
line (width/2,0, width/2, height);
line(0, height/2, width, height/2);
stroke(0);
vorm0.display();
vorm1.display();
vorm2.display();
vorm3.display();
vorm4.display();
vorm5.display();
vorm0.dpRotRe(vorm0);
vorm1.dpRotLi(vorm1);
vorm2.dpRotLi(vorm2);
vorm5.dpRotRe(vorm5);
vorm3.dpRotLi(vorm3);
vorm4.dpRotRe(vorm4);
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}