あの部員のアイコンはprocessingで作られたものだった!?網格子に似せて作られてたアイコン画像
ダウンロードfloat r = 50;
void setup() {
size(400, 400);
draw_icon();
saveFrame("output-####.png");
}
void draw_icon() {
background(255, 255, 255);
stroke(0, 0, 200);
strokeWeight(4);
noFill();
float piece_width = 2 * r * sin(PI/3);
float piece_height = 2 * r * cos(PI/3) +2*r;
for (float x = 0; x < width + piece_width; x += piece_width) {
for (float y = 0; y < height; y += piece_height) {
piece(x, y);
piece(x+piece_width/2, y+piece_height/2);
}
}
}
void piece(float x, float y) {
float rc = r * cos(PI/3);
float rs = r * sin(PI/3);
float sr = r /12;
float srt = sr * tan(PI/4);
pushMatrix();
translate(x, y);
beginShape();
vertex(0, 0);
vertex(rs, rc);
vertex(rs + srt, rc + sr);
vertex(rs - srt, rc + 3*sr);
vertex(rs + srt, rc + 5*sr);
vertex(rs - srt, rc + 7*sr);
vertex(rs + srt, rc + 9*sr);
vertex(rs - srt, rc + 11*sr);
vertex(rs, rc + 12*sr);
vertex(0, r + 2*rc);
vertex(-rs, rc + 12*sr);
vertex(-rs - srt, rc + 11*sr);
vertex(-rs + srt, rc + 9*sr);
vertex(-rs - srt, rc + 7*sr);
vertex(-rs + srt, rc + 5*sr);
vertex(-rs - srt, rc + 3*sr);
vertex(-rs + srt, rc + sr);
vertex(-rs, rc);
endShape(CLOSE);
popMatrix();
}
made by sakata