Schets met acht zeshoeken die een zeshoek vormen. terug naar de inleiding
enkele toetsfuncties
Bekijk de acht zeshoeken die een zeshoek vormen in fullscreen
De schets maakt gebruik van objecten van de zeshoek class "Vhoek_n6" , en object van de class "Text" en de superclass Vormen
Vormen [] vorm;
Text tekst1;
Text tekst2;
Text tekst3;
Text tekst4;
Text tekst5;
boolean uit = false;
int dp1 = 8;
int dp2 = 8;
int dp3 = 8;
int dp4 = 8;
float hoek = 0;
int alfa = 50;
void setup() {
fullScreen();
float x = width/2;
float y = height/2;
float n = height/7;
float hn = sqrt(3*n*n/4);
vorm = new Vormen[8];
vorm[0] = new Vhoek_n6(n,dp1,x-hn*sin(radians(60)),y+hn*cos(radians(60)), 60+hoek, color(#D3ED43, alfa));
vorm[1] = new Vhoek_n6(n,dp2,x+hn*sin(radians(60)),y+hn*cos(radians(60)),-60-hoek, color(#43B3ED, alfa));
vorm[2] = new Vhoek_n6(n,dp3,x-hn*sin(radians(60)),y-hn*cos(radians(60)),120-hoek, color(255,0,255,alfa));
vorm[3] = new Vhoek_n6(n,dp4,x+hn*sin(radians(60)),y-hn*cos(radians(60)),-120+hoek,color(255,255,0,alfa));
vorm[4] = new Vhoek_n6(n, dp1, x, y-hn,180-hoek,color(#80CB2B,alfa));
vorm[5] = new Vhoek_n6(n, dp2, x, y+hn,-hoek, color(#F0D02E,alfa));
vorm[6] = new Vhoek_n6(n, dp3, x, y-hn,180+hoek,color(#2EC4F0,alfa));
vorm[7] = new Vhoek_n6(n, dp4, x, y+hn,+hoek, color(#ED4349,alfa));
tekst1 = new Text("" , n/8, 1, x-6*n, y-3*n, 0,color(0));
tekst2 = new Text("" , n/8, 1, x-6*n, y-2.8*n,0,color(0));
tekst3 = new Text("" , n/8, 1, x-6*n, y-2.6*n,0,color(0));
tekst4 = new Text("" , n/8, 1, x-6*n, y-2.2*n,0,color(0));
tekst5 = new Text("" , n/8, 1, x-6*n, y-2*n,0,color(0));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
tekst1.text = ("toets u schakelt deze tekst uit, toets i schakelt de tekst in");
tekst2.text = ("toetsen 1 t/m 0 , q en w veranderen de draaipunt hoeken in stappen van 30 graden");
tekst3.text = ("toets r verandert at random de draaipunten");
tekst4.text = ("ingestelde draaipunten: "+dp1+" , "+dp2+" , "+dp3+" en "+dp4);
tekst5.text = ("hoek = " + String.valueOf(vorm[7].hoek + " graden"));
if (key == 'u' || uit) {
uit = true;
}
else
{
tekst1.display();
tekst2.display();
tekst3.display();
tekst4.display();
tekst5.display();
}
if (key == 'i') uit = false;
for (int i = 0; i < 8; i++)
{
vorm[i].display();
}
}
void keyPressed() {
if (key == '1') {
hoek = 30;
setup();
}
if (key == '2') {
hoek = 60;
setup();
}
if (key == '3') {
hoek = 90;
setup();
}
if (key == '4') {
hoek = 120;
setup();
}
if (key == '5') {
hoek = 150;
setup();
}
if (key == '6') {
hoek = 180;
setup();
}
if (key == '7') {
hoek = 210;
setup();
}
if (key == '8') {
hoek = 240;
setup();
}
if (key == '9') {
hoek = 270;
setup();
}
if (key == '0') {
hoek = 300;
setup();
}
if (key == 'q') {
hoek = 330;
setup();
}
if (key == 'w') {
hoek = 0;
setup();
}
if (key == 'r') {
//(int) is een cast operator waarmee je float omzet naar int
dp1 = (int) random(0,8); dp2 = (int) random(0,8);
dp3 = (int) random(0,8); dp4 = (int) random(0,8);
setup();
}
}
Schets met acht zeshoeken draaiend rond zeshoek terug naar de inleiding
Bekijk de acht zeshoeken in de achthoek in fullScreen
De schets maakt gebruik van objecten van de zeshoek class "Vhoek_n6" , en object van de class "Text" en de superclass Vormen
Vormen [] vorm;
Text tekst1;
Text tekst2;
Text tekst3;
Text tekst4;
Text tekst5;
boolean uit = false;
int dp1 = 8;
int dp2 = 8;
int dp3 = 8;
int dp4 = 8;
float hoek = 0;
int alfa = 50;
void setup() {
fullScreen();
float x = width/2;
float y = height/2;
float n = height/7;
float hn = sqrt(3*n*n/4);
vorm = new Vormen[8];
vorm[0] = new Vhoek_n6(n,dp1,x-hn*sin(radians(60)),y+hn*cos(radians(60)), 60+hoek, color(#D3ED43, alfa));
vorm[1] = new Vhoek_n6(n,dp2,x+hn*sin(radians(60)),y+hn*cos(radians(60)),-60-hoek, color(#43B3ED, alfa));
vorm[2] = new Vhoek_n6(n,dp3,x-hn*sin(radians(60)),y-hn*cos(radians(60)),120-hoek, color(255,0,255,alfa));
vorm[3] = new Vhoek_n6(n,dp4,x+hn*sin(radians(60)),y-hn*cos(radians(60)),-120+hoek,color(255,255,0,alfa));
vorm[4] = new Vhoek_n6(n, dp1, x, y-hn,180-hoek,color(#80CB2B,alfa));
vorm[5] = new Vhoek_n6(n, dp2, x, y+hn,-hoek, color(#F0D02E,alfa));
vorm[6] = new Vhoek_n6(n, dp3, x, y-hn,180+hoek,color(#2EC4F0,alfa));
vorm[7] = new Vhoek_n6(n, dp4, x, y+hn,+hoek, color(#ED4349,alfa));
tekst1 = new Text("", n/8, 1, x-6*n, y-3.2*n, 0, color(0));
tekst2 = new Text("", n/8, 1, x-6*n, y-3*n, 0, color(0));
tekst3 = new Text("", n/8, 1, x-6*n, y-2.8*n, 0, color(0));
tekst4 = new Text("", n/8, 1, x-6*n, y-2.6*n, 0, color(0));
tekst5 = new Text("", n/8, 1, x-6*n, y-2.4*n, 0, color(0));
}
void draw() {
background(#E6FBFF);
strokeWeight(2);
tekst1.text = ("toets u schakelt deze tekst uit, toets i schakelt de tekst in");
tekst2.text = ("toetsen 1 t/m 0 selecteren van ingestelde draaipunten, toets r selecteert toeval draaipunten.");
tekst3.text = ("Met de s toetst stopt, en met iedere andere toets start de animatie.");
tekst4.text = ("ingestelde draaipunten: "+dp1+" , "+dp2+" , "+dp3+" , "+dp4);
tekst5.text = ("hoek = " + String.valueOf(vorm[7].hoek + " graden"));
if (key == 'u' || uit) {
uit = true;
}
else
{
tekst1.display();
tekst2.display();
tekst3.display();
tekst4.display();
tekst5.display();
}
if (key == 'i') uit = false;
for (int i = 0; i < 8; 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].dpRotLi(vorm[5]);
vorm[6].dpRotRe(vorm[6]);
vorm[7].dpRotRe(vorm[7]);
}
}
void keyPressed() {
if (key == '1') {
dp1 = 8; dp2 = 8; dp3 = 8; dp4 = 8;
setup();
}
if (key == '2') {
dp1 = 5; dp2 = 5; dp3= 5; dp4 = 5;
setup();
}
if (key == '3') {
dp1 = 3; dp2 = 3; dp3 = 3; dp4 = 3;
setup();
}
if (key == '4') {
dp1 = 8; dp2 = 4; dp3 = 8; dp4 = 3;
setup();
}
if (key == '5') {
dp1 = 2; dp2 = 6; dp3 = 3; dp4 = 3;
setup();
}
if (key == '6') {
dp1 = 7; dp2 = 4; dp3 = 6; dp4 = 2;
setup();
}
if (key == '7') {
dp1 = 0; dp2 = 6; dp3 = 3; dp4 = 6;
setup();
}
if (key == '8') {
dp1 = 7; dp2 = 8; dp3 = 7; dp4 = 8;
setup();
}
if (key == '9') {
dp1 = 7; dp2 = 4; dp3 = 3; dp4 = 4;
setup();
}
if (key == '0') {
dp1 = 4; dp2 = 3; dp3 = 2; dp4 = 1;
setup();
}
if (key == 'r') {
//(int) is een cast operator waarmee je float omzet naar int
dp1 = (int) random(0,8); dp2 = (int) random(0,8);
dp3 = (int) random(0,8); dp4 = (int) random(0,8);
setup();
}
}