alien

 

Alien ruit

 alien

Alien met meerdere vormen.

De schets maakt gebruik van de superclass:  "Vormen"      terug naar de inleiding         zie ook Three.js met de alien op een roterende kubus
en de subclasses:  "Drieh_an""Paral" ,  en "Rechthoek"
 
Drieh_an: basis a  sqrt(2*n*n);  dan is de schuine zijde = n. n is het eerste argument in de constructor!!
Als voor de schuine zijde a is gekozen dan wordt de bais 2*n, dit is het geval bij vormen 13 t/m 16

mbt de keuze van de draaipunten is de bouw van de alien voor sommige vormen niet erg logisch

Onder deze schets staat de code in p5.js met linken naar de bijbehorende classes

 
 

 Vormen[] vorm = new Vormen[25];   
   
void setup() {   
 fullScreen();   
 // size(800, 800);   
 float n = height/15;  
 float h = n; 
 float l = 2*n; 
 float x = width/2;   
 float y = height/2;   
 float a = sqrt(2*n*n);   
 vorm[0] = new Rechthoek(a,a, 0, x, y, 45, color(0, 100, 255, 100));   
 vorm[1] = new Rechthoek(a,a, 1, x, y, 45, color(0, 244, 255, 100));   
 vorm[2] = new Rechthoek(a,a, 5, x, y, 45, color(0, 244, 255, 100));   
 vorm[3] = new Rechthoek(a,a, 1, x, y-n, -45, color(200, 0, 55, 200));   
 vorm[4] = new Rechthoek(a,a, 1, x, y+n, 135, color(0, 244, 255, 100));   
 vorm[5] = new Rechthoek(a,a, 0, x, y-3*n,45, color(0, 100, 255, 100));   
 vorm[6] = new Rechthoek(a,a, 0, x, y+3*n,45, color(0, 100, 255, 100));   
 vorm[7] = new Paral(h, l, 1, 7, x-n, y-3*n, 0, color(200, 0, 55, 200));   
 vorm[8] = new Paral(h, l, 0, 1, x+n, y-3*n, 0, color(200, 0, 55, 200));   
 vorm[9] = new Paral(h, l, 1, 7, x-2*n, y, 0, color(0, 100, 255, 100));   
 vorm[10] = new Paral(h,l, 0, 1, x+2*n, y, 0, color(0, 100, 255, 100));   
 vorm[11] = new Paral(h,l, 1, 1, x, y+4*n, 0, color(200, 126, 175, 150));   
 vorm[12] = new Paral(h,l, 0, 7, x, y+4*n, 0, color(200, 126, 175, 175));   
 vorm[13] = new Drieh_an(a, 1, x-n, y-3*n,180, color(90, 150, 224));   
 vorm[14] = new Drieh_an(a, 5, x+n, y-3*n,180, color(90, 150, 224));   
 vorm[15] = new Drieh_an(a, 6, x-2*n, y-n, 0, color(90, 150, 224));   
 vorm[16] = new Drieh_an(a, 6, x+2*n, y-n, 0, color(90, 150, 224));   
 vorm[17] = new Drieh_an(a*2, 6, x, y-4*n, 0, color(0, 200, 255, 100));   
 vorm[18] = new Drieh_an(a*2, 6, x, y+4*n,180, color(0, 200, 255, 100 ));   
 vorm[19] = new Drieh_an(n*2, 5, x-2*n, y-2*n,-45, color(250, 126, 126));   
 vorm[20] = new Drieh_an(n*2, 1, x+2*n, y-2*n, 45, color(250, 126, 126));   
 vorm[21] = new Paral(h,l,1, 7, x-4*n, y-2*n, -90, color(200, 226, 75, 200));   
 vorm[22] = new Paral(h,l, 0, 1, x+4*n, y-2*n, 90, color(200, 226, 75, 200));   
 vorm[23] = new Drieh_an(n*2, 3, x, y+6*n, 180, color(150, 226, 126));   
 vorm[24] = new Drieh_an(n*2, 3, x, y-6*n, 0, color(250, 126, 126));   
}   
void draw() {   
 // background(0);   
 background(#E6FBFF);   
 for (int i = 0; i < 25; i++)   
 {   
 vorm[i].display();   
 }   
}
 
Alien schets in p5.js waarbij met de d toets de alien als transparante afbeelding kan worden gedownload
De schets maakt gebruik van de p5.js classes "Rechthoek" , "Paral" , "Drieh_an" , en de superclass "Vormen"
 
de alien in fullscreen
 
 
 
let vorm = []; 

function setup() {
 createCanvas(windowWidth, windowHeight);
 let n = height/12;  let h = n; let l = 2*n;
 let x = width/2;    let y = height/2;
 let a = sqrt(2*n*n);let sw = height/500;
 vorm[0] = new Rechthoek(a,a, 0, x, y, 45, color(0, 100, 255,100),sw, color(0));
 vorm[1] = new Rechthoek(a,a, 1, x, y, 45, color(0, 244, 255,100),sw, color(0));
 vorm[2] = new Rechthoek(a,a, 5, x, y, 45, color(0, 244, 255,100),  sw,color(0));
 vorm[3] = new Rechthoek(a,a, 1, x, y-n, -45, color(200, 0,55,200), sw,color(0));
 vorm[4] = new Rechthoek(a,a, 1, x, y+n, 135, color(0, 244,255,100),sw,color(0));
 vorm[5] = new Rechthoek(a,a, 0, x, y-3*n,45, color(0, 100,255,100),sw,color(0));
 vorm[6] = new Rechthoek(a,a, 0, x, y+3*n,45, color(0, 100,255,100),sw,color(0));
 vorm[7] = new Paral(h, l, 1, 7, x-n,y-3*n,0, color(200,0,55,200));
 vorm[8] = new Paral(h, l, 0, 1, x+n,y-3*n,0, color(200,0,55,200));
 vorm[9] = new Paral(h, l, 1, 7, x-2*n, y, 0, color(0, 100,255,100));
 vorm[10] = new Paral(h,l, 0, 1, x+2*n, y, 0, color(0, 100,255,100));
 vorm[11] = new Paral(h,l, 1, 1, x, y+4*n, 0, color(200,126,175,150));
 vorm[12] = new Paral(h,l, 0, 7, x, y+4*n, 0, color(200,126,175,175));
 vorm[13] = new Drieh_an(a, 1, x-n, y-3*n,180,color(90,150,224),sw,color(0));
 vorm[14] = new Drieh_an(a, 5, x+n, y-3*n,180,color(90,150,224),sw,color(0));
 vorm[15] = new Drieh_an(a, 6, x-2*n, y-n, 0, color(90,150,224),sw,color(0));
 vorm[16] = new Drieh_an(a, 6, x+2*n, y-n, 0, color(90,150,224),sw,color(0));
 vorm[17] = new Drieh_an(a*2, 6, x, y-4*n, 0, color(0, 200,255,100), sw,color(0));
 vorm[18] = new Drieh_an(a*2, 6, x, y+4*n,180, color(0, 200,255,100),sw,color(0));
 vorm[19] = new Drieh_an(n*2, 5, x-2*n, y-2*n,-45,color(250,126,126),sw,color(0));
 vorm[20] = new Drieh_an(n*2, 1, x+2*n, y-2*n, 45,color(250,126,126),sw,color(0));
 vorm[21] = new Paral(h,l,1, 7, x-4*n, y-2*n, -90,color(200,226,75,200));
 vorm[22] = new Paral(h,l, 0, 1, x+4*n, y-2*n, 90,color(200,226,75,200));
 vorm[23] = new Drieh_an(n*2, 3, x, y+6*n, 180, color(150, 226,126),sw,color(0));
 vorm[24] = new Drieh_an(n*2, 3, x, y-6*n, 0, color(250, 126, 126), sw,color(0));
}
function draw() {
// background('#E6FBFF');
 clear();
  background('rgba(255,255,255, 0)');
 for (let i = 0; i < 25; i++)
 {
 vorm[i].display();
 }
}
 
 function windowResized() {
  resizeCanvas(windowWidth, windowHeight);
}
 
 function keyPressed() {
  if (key == 'd' || key == 'D') {
   save('alien.png');
  }
}