hoek "Hoek_n3n" ga naar de animatie met roterende hoeken terug naar de inleiding
class Hoek_n3n extends Vormen {
Hoek_n3n(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(-a,a/2);vertex(-3*a/2,0);vertex(0,-3*a/2);vertex(3*a/2,0);vertex(a,a/2);vertex(0, -a/2);}
if (d == 1) {vertex(0,0);vertex(-a/2,-a/2);vertex(a,-a*2);vertex(5*a/2, -a/2);vertex(2*a, 0);vertex(a, -a);}
if (d == 2) {vertex(a/2,a/2);vertex(0, 0);vertex(3*a/2,-3*a/2);vertex(3*a, 0);vertex(5*a/2,a/2);vertex(3*a/2,-a/2);}
if (d == 3) {vertex(-a/4,5*a/4);vertex(-3*a/4, 3*a/4);vertex(3*a/4,-3*a/4);vertex(9*a/4,3*a/4);vertex(7*a/4,5*a/4);vertex(3*a/4,a/4);}
if (d == 4) {vertex(-a,2*a);vertex(-3*a/2, 3*a/2);vertex(0,0);vertex(3*a/2,3*a/2);vertex(a,2*a);vertex(0,a);}
if (d == 5) {vertex(-7*a/4,5*a/4);vertex(-9*a/4,3*a/4);vertex(-3*a/4,-3*a/4);vertex(3*a/4,3*a/4);vertex(a/4,5*a/4);vertex(-3*a/4,a/4);}
if (d == 6) {vertex(-5*a/2,a/2);vertex(-3*a,0);vertex(-3*a/2,-3*a/2);vertex(0,0);vertex(-a/2,a/2);vertex(-3*a/2,-a/2);}
if (d == 7) {vertex(-2*a,0); vertex(-5*a/2,-a/2);vertex(-a,-2*a); vertex(a/2,-a/2);vertex(0,0);vertex(-a,-a);}
if (d == 8) {vertex(-a,a);vertex(-3*a/2,a/2);vertex(0,-a);vertex(3*a/2,a/2);vertex(a,a);vertex(0,0);}
endShape(CLOSE);
popMatrix();
}
}
schets met 5 roterende hoeken
bekijk de roterende hoeken
Vormen [] vorm;
void setup() {
size(780,560);
// fullScreen();
float x = width/2;
float y = height/2;
float n = height/10;
float a = sqrt(2*n*n);
vorm = new Vormen[5];
vorm[0] = new Hoek_n3n(n, 6, x-1.5*a, y, 0, color(255, 255, 0, 100));
vorm[1] = new Hoek_n3n(n, 0, x, y, 0, color(0, 255, 200, 100));
vorm[2] = new Hoek_n3n(n, 2, x+1.5*a, y, 0, color(255, 0, 0, 100));
vorm[3] = new Hoek_n3n(n, 1, x-a, y+a/2, 180, color(0, 0, 255, 100));
vorm[4] = new Hoek_n3n(n, 7, x+a, y+a/2, 180, 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);
for (int i = 0; i < 5; i++)
{
vorm[i].display();
}
vorm[0].dpRotLi(vorm[0]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotRe(vorm[3]);
vorm[4].dpRotLi(vorm[4]);
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}