acht roterende spiralen afgeleid van driehoeken
De schets maakt gebruik van de class "Spiraal_8gdt_gk" en de superclass "Vormen" terug naar de inleding
bekijk de roterende spiralen
Vormen[] vorm = new Vormen[8];
void setup() {
size(780, 560);
float x = width/2;
float y = height/2;
float n = height/6;
vorm[0] = new Spiraal_8gdt_gk(n, 1, 0, 8, x+n, y, 0, color(0));
vorm[1] = new Spiraal_8gdt_gk(n, 1, 1, 8, x-n, y, 0, color(0));
vorm[2] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y, 0, color(0));
vorm[3] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y, 0, color(0));
vorm[4] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y, 90, color(0));
vorm[5] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y,-90, color(0));
vorm[6] = new Spiraal_8gdt_gk(n, 1, 1, 8, x+n, y,-90, color(0));
vorm[7] = new Spiraal_8gdt_gk(n, 1, 0, 8, x-n, y, 90, color(0));
}
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 < 8; i++)
{
vorm[i].display();
}
vorm[0].dpRotLi(vorm[0]);
vorm[1].dpRotRe(vorm[1]);
vorm[2].dpRotRe(vorm[2]);
vorm[3].dpRotLi(vorm[3]);
vorm[4].dpRotLi(vorm[4]);
vorm[5].dpRotRe(vorm[5]);
vorm[6].dpRotLi(vorm[6]);
vorm[7].dpRotRe(vorm[7]);
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
}
De spiralen in overprojectie
Door in de draw functie de code door onderstaande code te vervangen worden de spiralen in overprojectie getoond.
background(#E6FBFF); naar het setup deel verplaatsen.
Zo worden de spiralen telkens na 15 frameCounts getekend, terwijl de rotaties gewoon doorgaan.
Met de "c" toets begint het tekenen opnieuw.
void draw() {
int op = 15; //De spiralen worden telkens na 15 frameCounts getekend.
if (frameCount == op)
{
for (int i = 0; i < 8; i++)
{
vorm[i].display();
frameCount = 0;
}
}
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].dpRotRe(vorm[6]);
vorm[7].dpRotLi(vorm[7]);
}
void keyPressed() {
if (key == 's') {
noLoop();
}
if (key == 'r') {
loop();
}
if (key == 'c') {
setup();
}
}