void setup()
{
size(500, 500);
}
void draw()
{
background(127);
translate(width/4, height/4);
Board(2, 50);
resetMatrix();
translate(width/4*3, height/4);
Board(3, 50);
resetMatrix();
translate(width/4*3, height/4*3);
Board(5, 50);
resetMatrix();
translate(width/4, height/4*3);
Board(4, 50);
}
void Board(int p, float s) {
for (int i = 0; i < p*2; i++) {
rotate(PI/p);
Quarter(s, PI/p, (i%2==0));
}
}
void Quarter(float r, float d, boolean b)
{
pushMatrix();
float a = HALF_PI - d;
for (int i = 0; i<4; i++) {
for (int j = 0; j<4; j++) {
float y = j*r/4;
float x = 0;
if ((i+j)%2 == 0)
fill(b ? 0 : 255);
else
fill(b ? 255 : 0);
beginShape();
vertex(x, y);
vertex(x+r/4*cos(a), y+r/4*sin(a));
vertex(x+r/4*cos(a), y+r/4+r/4*sin(a));
vertex(x, y+r/4);
endShape(CLOSE);
if (j==3) {
translate(r/4*cos(a), r/4*sin(a));
}
}
}
popMatrix();
}
Nenhum comentário:
Postar um comentário
Pode falar, eu não mordo... Pelo menos não através da internet