Schetst met vier ruiten en zes trapeziums. terug naar de inleiding
toets "s" stopt de rotaties en met de overige toetsen starten de rotaties
De schets in p5.js maakt gebruik van de p5.js classes superclass "Vormen" en objecten van de subclasses "Ruit" en "Trap_2nn"
let vorm = []; let h = 0;
function setup() {
buttonR1 = createButton('reset 0');
buttonR1.position(20,40);buttonR1.style('width','70px');
buttonR1.mouseClicked(buttonR1Action);
buttonH1 = createButton('reset h 45');
buttonH1.position(20,80);buttonH1.style('width','80px');
buttonH1.mouseClicked(buttonH1Action);
buttonH2 = createButton('reset h 90');
buttonH2.position(20,120);buttonH2.style('width','80px');
buttonH2.mouseClicked(buttonH2Action);
buttondp0 = createButton('dp 0');
buttondp0.position(20,160);buttondp0.style('width','70px');
buttondp0.mouseClicked(buttondp0Action);
buttondp1 = createButton('dp 1');
buttondp1.position(20,200);buttondp1.style('width','70px');
buttondp1.mouseClicked(buttondp1Action);
buttonD = createButton('downloaden');
buttonD.position(20,240);buttonD.style('width','12jsj0px');
buttonD.mouseClicked(buttonDAction);
createCanvas(windowWidth,windowHeight);
let x = width/2;
let y = height/2;
let n = height/6;
let alpha = 100; let sw = n/100; let sc = color(0);
vorm[0] = new Ruit(n, 1, x-n, y-n/2, 0+h, color(0, 255, 100, alpha),sw,sc);
vorm[1] = new Ruit(n, 1, x+n, y-n/2, 0+h, color(255, 0, 0, alpha),sw,sc);
vorm[2] = new Ruit(n, 1, x-n, y+n/2, 180+h, color(0, 0, 255, alpha),sw,sc);
vorm[3] = new Ruit(n, 1, x+n, y+n/2, 180+h, color(0, 255, 0, alpha),sw,sc);
vorm[4] = new Trap_2nn(n, 7, x-n, y-n/2, 0+h,color(200,255,0,alpha),sw,sc);
vorm[5] = new Trap_2nn(n, 1, x-n, y-n/2, 0+h,color(255,0,200,alpha),sw,sc);
vorm[6] = new Trap_2nn(n, 1, x+n, y-n/2, 0+h,color(0,100,255,alpha),sw,sc);
vorm[7] = new Trap_2nn(n, 1, x-n, y+n/2,180+h,color(0,255,0, alpha),sw,sc);
vorm[8] = new Trap_2nn(n, 7, x-n, y+n/2,180+h,color(0,255,255,alpha),sw,sc);
vorm[9] = new Trap_2nn(n, 7, x+n, y+n/2,180+h,color(100,0,200,alpha),sw,sc);
}
function draw() {
//background('#E6FBFF');
clear();
background('rgba(255,255,255, 0)');
for (let i = 0; i < 10; i++)
{
vorm[i].display();
}
if (key == 's' || key == 'S') { }
else {
if (frameCount < 800)
{
vorm[0].dpRotLi(vorm[0]); vorm[1].dpRotRe(vorm[1]);
vorm[4].dpRotRe(vorm[4]); vorm[6].dpRotLi(vorm[6]);
}
if (frameCount > 600 && frameCount < 1800 )
{
vorm[0].dpRotRe(vorm[0]); vorm[1].dpRotLi(vorm[1]);
vorm[4].dpRotLi(vorm[4]); vorm[6].dpRotRe(vorm[6]);
}
if (frameCount > 1800)
{
frameCount = 0;
}
vorm[2].dpRotRe(vorm[2]); vorm[7].dpRotLi(vorm[7]);
vorm[3].dpRotLi(vorm[3]); vorm[9].dpRotRe(vorm[9]);
}
}
function buttonR1Action(){h = 0;setup();}
function buttonH1Action(){h =45;setup();}
function buttonH2Action(){h =90;setup();}
function buttondp0Action()
{vorm[0].d=1; vorm[1].d=1; vorm[2].d=1; vorm[3].d=1;}
function buttondp1Action()
{vorm[0].d=5; vorm[1].d=5; vorm[2].d=5; vorm[3].d=5;}
function buttonDAction() {save('Ruit_trapezium.png');}