pentomino "F" bekijk de rotaties van pentomino "F" terug naar de inleiding
class F extends Vormen {
F(float n_, int lr_, int d_, float x_, float y_, float hoek_, color c1_) {
super();
n = n_;
lr = lr_;
x = x_;
y = y_;
hoek = hoek_;
c1 = c1_;
d = d_;
}
void display() {
fill(c1);
// noStroke();
pushMatrix();
translate(x, y);
rotate(radians(hoek));
beginShape();
if (d == 0 && lr == 1) {vertex(-n/2,1.5*n); vertex(-n/2,n/2); vertex(-1.5*n,n/2);vertex(-1.5*n,-n/2); vertex(-n/2,-n/2);
vertex(-n/2,-1.5*n);vertex(1.5*n,-1.5*n);vertex(1.5*n,-n/2);vertex(n/2,-n/2); vertex(n/2,1.5*n);}
if (d == 0 && lr == 0) {vertex(-n/2,1.5*n); vertex(-n/2,-n/2); vertex(-1.5*n,-n/2);vertex(-1.5*n,-1.5*n);vertex(n/2,-1.5*n);
vertex(n/2,-n/2); vertex(1.5*n,-n/2); vertex(1.5*n,n/2); vertex(n/2,n/2); vertex(n/2,1.5*n);}
if (d == 1 && lr == 1) {vertex(0,0); vertex(0,-n); vertex(-n,-n); vertex(-n,-2*n);vertex(0,-2*n);
vertex(0,-3*n);vertex(2*n,-3*n);vertex(2*n,-2*n);vertex(n,-2*n); vertex(n,0);}
if (d == 1 && lr == 0) {vertex(0,0); vertex(0,-2*n); vertex(-n,-2*n); vertex(-n,-3*n);vertex(n,-3*n);
vertex(n,-2*n);vertex(2*n,-2*n);vertex(2*n,-n); vertex(n,-n); vertex(n,0);}
if (d == 2 && lr == 1) {vertex(0,n); vertex(0,0); vertex(-n,0); vertex(-n,-n); vertex(0,-n);
vertex(0,-2*n);vertex(2*n,-2*n);vertex(2*n,-n); vertex(n,-n); vertex(n,n);}
if (d == 2 && lr == 0) {vertex(0,2*n); vertex(0,0); vertex(-n,0); vertex(-n,-n); vertex(n,-n);
vertex(n,0); vertex(2*n,0); vertex(2*n,n); vertex(n,n); vertex(n,2*n);}
if (d == 3 && lr == 1) {vertex(n,n); vertex(n,0); vertex(0,0); vertex(0,-n); vertex(n,-n);
vertex(n,-2*n);vertex(3*n,-2*n);vertex(3*n,-n); vertex(2*n,-n); vertex(2*n,n);}
if (d == 3 && lr == 0) {vertex(n,2*n); vertex(n,0); vertex(0,0); vertex(0,-n); vertex(2*n,-n);
vertex(2*n,0); vertex(3*n,0); vertex(3*n,n); vertex(2*n,n); vertex(2*n,2*n);}
if (d == 4 && lr == 1) {vertex(n,2*n); vertex(n,n); vertex(0,n); vertex(0,0); vertex(n,0);
vertex(n,-n); vertex(3*n,-n); vertex(3*n,0); vertex(2*n,0); vertex(2*n,2*n);}
if (d == 4 && lr == 0) {vertex(n,3*n); vertex(n,n); vertex(0,n); vertex(0,0); vertex(2*n,0);
vertex(2*n,n); vertex(3*n,n); vertex(3*n,2*n); vertex(2*n,2*n);vertex(2*n,3*n);}
if (d == 5 && lr == 1) {vertex(0,2*n); vertex(0,n); vertex(-n,n); vertex(-n,0); vertex(0,0);
vertex(0,-n); vertex(2*n,-n); vertex(2*n,0); vertex(n,0); vertex(n,2*n);}
if (d == 5 && lr == 0) {vertex(-n,3*n);vertex(-n,n); vertex(-2*n,n); vertex(-2*n,0); vertex(0,0);
vertex(0,n); vertex(n,n); vertex(n,2*n); vertex(0,2*n); vertex(0,3*n);}
if (d == 6 && lr == 1) {vertex(0,3*n); vertex(0,2*n); vertex(-n,2*n); vertex(-n,n); vertex(0,n);
vertex(0,0); vertex(2*n,0); vertex(2*n,n); vertex(n,n); vertex(n,3*n);}
if (d == 6 && lr == 0) {vertex(-n,2*n);vertex(-n,0); vertex(-2*n,0); vertex(-2*n,-n);vertex(0,-n);
vertex(0,0); vertex(n,0); vertex(n,n); vertex(0,n); vertex(0,2*n);}
if (d == 7 && lr == 1) {vertex(-2*n,3*n);vertex(-2*n,2*n);vertex(-3*n,2*n);vertex(-3*n,n);vertex(-2*n,n);
vertex(-2*n,0); vertex(0,0); vertex(0,n); vertex(-n,n); vertex(-n,3*n);}
if (d == 7 && lr == 0) {vertex(-2*n,2*n);vertex(-2*n,0); vertex(-3*n,0);vertex(-3*n,-n); vertex(-n,-n);
vertex(-n,0); vertex(0,0); vertex(0,n); vertex(-n,n); vertex(-n,2*n);}
if (d == 8 && lr == 1) {vertex(-2*n,2*n);vertex(-2*n,n); vertex(-3*n,n);vertex(-3*n,0); vertex(-2*n,0);
vertex(-2*n,-n); vertex(0,-n); vertex(0,0); vertex(-n,0); vertex(-n,2*n);}
if (d == 8 && lr == 0) {vertex(-2*n,n); vertex(-2*n,-n);vertex(-3*n,-n);vertex(-3*n,-2*n);vertex(-n,-2*n);
vertex(-n,-n); vertex(0,-n); vertex(0,0); vertex(-n,0); vertex(-n,n);}
if (d == 9 && lr == 1) {vertex(-n,2*n); vertex(-n,n); vertex(-2*n,n);vertex(-2*n,0); vertex(-n,0);
vertex(-n,-n); vertex(n,-n); vertex(n,0); vertex(0,0); vertex(0,2*n);}
if (d == 9 && lr == 0) {vertex(-n,n); vertex(-n,-n); vertex(-2*n,-n);vertex(-2*n,-2*n);vertex(0,-2*n);
vertex(0,-n); vertex(n,-n); vertex(n,0); vertex(0,0); vertex(0,n);}
if (d == 10 && lr == 1){vertex(-n,0); vertex(-n,-n); vertex(-2*n,-n);vertex(-2*n,-2*n);vertex(-n,-2*n);
vertex(-n,-3*n); vertex(n,-3*n); vertex(n,-2*n); vertex(0,-2*n); vertex(0,0);}
if (d == 10 && lr == 0){vertex(-n,0); vertex(-n,-2*n);vertex(-2*n,-2*n);vertex(-2*n,-3*n);vertex(0,-3*n);
vertex(0,-2*n); vertex(n,-2*n); vertex(n,-n); vertex(0,-n); vertex(0,0);}
endShape(CLOSE);
popMatrix();
}
}
voorbeeld met "F"
bekijk de rotaties van pentomino "F"
Vormen vorm0;
Vormen vorm1;
Vormen vorm2;
Vormen vorm3;
Ruitjes ruitjespap;
void setup() {
size(780, 560);
float x = width/2;
float y = height/2;
float n = height/10;
ruitjespap = new Ruitjes(n,x,y);
vorm0 = new F(n,1, 8, x-1.5*n, y-1.5*n, 0, color(200, 255, 0, 50));
vorm1 = new F(n,0, 3, x+1.5*n, y-1.5*n, 0, color(200, 0, 0, 50));
vorm2 = new F(n,0, 3, x-1.5*n, y+1.5*n, 180, color(0, 0, 255, 50));
vorm3 = new F(n,1, 8, x+1.5*n, y+1.5*n, 180, color(0, 100, 0, 50));
}
void draw() {
background(#E6FBFF);
ruitjespap.display();
vorm0.display();
vorm1.display();
vorm2.display();
vorm3.display();
vorm0.dpRotLi(vorm0);
vorm1.dpRotRe(vorm1);
vorm2.dpRotRe(vorm2);
vorm3.dpRotLi(vorm3);
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}