animatie met 4 hoekbalken en 8 boxen terug naar de inleiding
de schets maakt gebruik van de objectmethodes van de superclass: "Vormen" en objecten van de subclasses: "Hoek3d_na4n" , "Box_n4naLi" en "Box_n4naRe"
bekijk de draaiende hoekbalken en boxen Met toetsen 1 t/m 4 verandert de positie van de draaipunten. toets "s" stopt en iedere andere toets start de animatie
Vormen [] vorm;
float xpos; float ypos;
float x; float y; float n;
void setup() {
size(1920, 1080);
// fullScreen();
x = width/2;
y = height/2;
n = height/20;
int ch1 = color(#C1A100,100);
int ch2 = color(#F7CE64,100);
int ch3 = color(#D69B04,100);
int ch4 = color(#C69A08,100);
int ch5 = color(#D69B04,100);
int ch6 = color(#4E8104,100);
int ch7 = color(#79C608,100);
int ch8 = color(#79C608,100);
vorm = new Vormen[12];
vorm[0] = new Hoek3d_na4n(n, 4, x-(2*n+xpos), y-(2*n+ypos), 135, ch1, ch2, ch3, ch4, ch5);
vorm[1] = new Hoek3d_na4n(n, 4, x+(2*n+xpos), y-(2*n+ypos), -135, ch1, ch2, ch3, ch4, ch5);
vorm[2] = new Box_n4naRe( n, 1, x-(2*n+xpos), y-(2*n+ypos), 0, ch6, ch7, ch8);
vorm[3] = new Box_n4naLi( n, 4, x+(2*n+xpos), y-(2*n+ypos), 0, ch6, ch7, ch8);
vorm[4] = new Box_n4naLi( n, 4, x-(2*n+xpos), y-(2*n+ypos), -90, ch6, ch7, ch8);
vorm[5] = new Box_n4naRe( n, 1, x+(2*n+xpos), y-(2*n+ypos), 90, ch6, ch7, ch8);
vorm[6] = new Box_n4naRe( n, 1, x-(2*n+xpos), y+(2*n+ypos), -90, ch6, ch7, ch8);
vorm[7] = new Box_n4naLi( n, 4, x+(2*n+xpos), y+(2*n+ypos), 90, ch6, ch7, ch8);
vorm[8] = new Hoek3d_na4n(n, 4, x-(2*n+xpos), y+(2*n+ypos), 45, ch1, ch2, ch3, ch4, ch5);
vorm[9] = new Hoek3d_na4n(n, 4, x+(2*n+xpos), y+(2*n+ypos), -45, ch1, ch2, ch3, ch4, ch5);
vorm[10] = new Box_n4naRe(n, 1, x+(2*n+xpos), y+(2*n+ypos), -180, ch6, ch7, ch8);
vorm[11] = new Box_n4naLi(n, 4, x-(2*n+xpos), y+(2*n+ypos), 180, ch6, ch7, ch8);
}
void draw() {
background(#E6FBFF);
for (int i = 0; i < 12; i++)
{
vorm[i].display();
}
if (key == 's') {
}
else
{
vorm[0].dpRotLi(vorm[0]);
vorm[1].dpRotRe(vorm[1]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotLi(vorm[3]);
vorm[4].dpRotRe(vorm[4]);
vorm[5].dpRotLi(vorm[5]);
vorm[6].dpRotLi(vorm[6]);
vorm[7].dpRotRe(vorm[7]);
vorm[8].dpRotRe(vorm[8]);
vorm[9].dpRotLi(vorm[9]);
vorm[10].dpRotRe(vorm[10]);
vorm[11].dpRotLi(vorm[11]);
}
}
void keyPressed() {
if (key == '1') {
xpos = 0; ypos = 0;
setup();
}
if (key == '2') {
xpos = 2*n; ypos = n/2;
setup();
}
if (key == '3') {
xpos = n; ypos = n;
setup();
}
if (key == '4') {
xpos = 2*n; ypos = 2*n;
setup();
}
}