![]() |
![]() |
Animatie met pentomino "N", "Z" en parallellogrammen terug naar de inleiding
De schets maakt gebruik van objecten van de classes "N" , "Z" , "Paral", en de superclass "Vormen"
Bekijk de "N" , "Z" parallellogrammen animatie
Met de toetsen 1 t/m 0 veranderen de draaipunten
Vormen [] vorm;
int p = 0;
int np = 0;
int z = 0;
void setup() {
size(1000, 600);
float x = width/2;
float y = height/2;
float n = height/12;
float l = n;
float h = n;
vorm = new Vormen[10];
vorm[0] = new Paral(h, l, 1, 5-p, x, y, 0, color(255, 0, 0, 100));
vorm[1] = new Paral(h, l, 0, 3+p, x, y, 0, color(255, 0, 0, 100));
vorm[2] = new Paral(h,2*l, 0, 1+p, x-3*n,y, -90, color(0, 255, 0, 100));
vorm[3] = new Paral(h,2*l, 1, 7-p, x+3*n,y, 90, color(0, 255, 0, 100));
vorm[4] = new Paral(h,3*l, 1, 7-p, x-n, y-n,90, color(0, 100, 255, 100));
vorm[5] = new Paral(h,3*l, 0, 5-p, x+n,y-n, 90, color(0, 100, 255, 100));
vorm[6] = new N(n, 1, 6-np,x-n, y-n,0, color(200, 200, 0, 50));
vorm[7] = new N(n, 0, 3+np,x+n, y-n,0, color(200, 200, 0, 50));
vorm[8] = new Z(n, 0, 3+z, x-3*n,y,-180, color(0, 100, 200, 50));
vorm[9] = new Z(n, 1, 6-z, x+3*n,y, 180, color(0, 100, 200, 50));
}
void draw() {
background(#E6FBFF);
for (int i = 0; i < 10; i++)
{
vorm[i].display();
}
if (key == 's') {
}
else
{
vorm[0].dpRotRe(vorm[0]);
vorm[1].dpRotLi(vorm[1]);
vorm[2].dpRotLi(vorm[2]);
vorm[3].dpRotRe(vorm[3]);
vorm[4].dpRotLi(vorm[4]);
vorm[5].dpRotRe(vorm[5]);
vorm[6].dpRotRe(vorm[6]);
vorm[7].dpRotLi(vorm[7]);
vorm[8].dpRotRe(vorm[8]);
vorm[9].dpRotLi(vorm[9]);
}
}
void keyPressed() {
if (key == '1') {
p = 0; np = 0; z = 0;
setup();
}
if (key == '2') {
p = 1; np = 3;
setup();
}
if (key == '3') {
p = 2; np = 4;
setup();
}
if (key == '4') {
p = 3;
setup();
}
if (key == '5') {
p = 4;
setup();
}
if (key == '6') {
z = 2;
setup();
}
if (key == '7') {
z = 3;
setup();
}
if (key == '8') {
z = 4;
setup();
}
if (key == '9') {
np = 5;
setup();
}
if (key == '0') {
np = 3;
setup();
}
}